Code前端首页关于Code前端联系我们

mysql5运行多实例、mysql多实例和集群

terry 2年前 (2023-09-30) 阅读数 40 #Mysql
文章标签 Mysql

本文内容列表:

  • 1. 如何在一台数据库服务器上启动多个MySQL实例
  • 2、ubuntu14.04下配置mysql5.5的多个实例
  • 3、如何在一台机器上安装多个mysql数据库并启动多个mysql服务。在线等待,

如何在一台数据库服务器上启动多个MySQL实例

1. 将rpm包上传到服务器 2. 安装mysql服务器 rpm -ivhMySQL-server-5.5.8-1.rhel5.x86_64.rpm 3. 安装mysql客户端 rpm -ivhMySQL-client-5.5.5 。 - 1.rhel5.x86_64.rpm 4、创建目录 在/data下创建目录,将原来的数据目录/var/lib/mysql移动到/data/mysql/data1和/data/mysql/data2,并更改mysql目录及子目录权限 PS:安装后默认一些重要目录内容 /var/lib/mysql 数据文件、日志文件等/rc.d/init.d/mysql 启动脚本文件创建目录 更改权限 5.编辑并上传配置文件my.cnf 从/usr/share/mysql目录到服务器,设置my-innodb-heavy-4G。 cnf复制到本地。更改其内容以添加数据文件和日志文件的目录,并更改套接字目录。 6. 使用 mysql_multi 启动多个服务: mysqld_multi --defaults-file=/etc/my.cnf start1,2 检查是否启动: mysqld_multi --defaults-file=/etc/my.cnfreport 1 7. 检查是否启动端口开放 8.连接指定mysql服务器 mysql -u root -S/tmp/mysql1.sock 或 mysql -uroot -P3307 -h127.0.0.1 9.记得关闭防火墙

配置mysql5以上.5 ubuntu14.04下示例

本机配置有主机和从机。 # 1.关闭mysql

$mysqladmin -uroot -pmysql

$netstat -lnt|grep 3306

# 2.复制数据文件

$cp -R /data/mysqldata/data/mysqldata/ 3307

更改主/data/mysqldata/3306/my.cnf

server_id = 2433306

log-bin = /data/mysqldata/3306/binlog/mysql-binl mysql_db_startup.sh

# 3.创建用户对于复制到主数据库

mysql 授予复制从属到 *.* 到由 'replsafe' 标识的 'repl'@'192.168.2.%';

mysql 显示主状态;

+----- ------------------- +----------------+---------- - ---------+

|文件|位置| Binlog_Do_DB | Binlog_Ignore_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+----------------------------++---------------- ----+--------------------+

| mysql-bin。 000005 | 330 | 330 | | |

+------------------------+ ------------------+ --------------------+

1 行一组(0.03 秒)

# 4.在slave

server_id = 2433307

log-bin = /data/mysqldata/3306/binlog/mysql-bin

6上编辑/data/mysqldata/3307/my.cnf更改为我的33307。 cnf

$sed -i 's/3306/3307/g' /data/mysqldata/3307/my.cnf

auto.cnf 保存 mysql 服务器-uuid

$rm /data/3307data /data/ auto.cnf

# 5.启动slave

[mysql@mysql Scripten]$ mysql_db_startup.sh 3307

连接到slave mysql

$/mysql/local -/mysql/local usystem -p'root ' -S /data/mysqldata/3307/mysql.sock

mysql 将 master 更改为

- master_host='192.168.2.100',

- master_port=3306,_us ='repl',

- master_password='replsafe',

- master_log_file='mysql-bin.000005',

- master_log_pos=330;

***='8 将 master 更改为 master_2_host .2.100', master_port=3306 , master_user='repl', master_password='replsafe', master_log_file='mysql-bin.000005', master_log_pos=330;

查询正常,0行受影响,2个警告(0.08秒)

mysql启动从属;

查询正常,0行受影响(0.04秒)

# 6.测试复制

在主数据库

mysql-prompt master

PROMPT 设置为“master”

master use ylo;

master create table ct1(id int);s insert ct1 值(1).------+-----+---------+------+

|领域 |类型 |零|关键|默认 |额外 |

+------------------------------------ ---- +

|编号 |整数(11)|是 | |空 | |

+----------------------------------------+

1集合中的行(0.06 秒)

从机选择 * 来自 ct1;

+------ +

| id |

+------+

| 1 |

+------+

1 行集合(0.02 秒)

看来我们成功了。

检查复制状态

Slave显示从属状态\G

****************************** 第一排 ************** ** ************

Slave_IO_State:等待Master发送事件

Master_Host:192.168.2.100

Master_User:repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000005

Read_Master_Log_Pos: 911

relais: mysq_Fi.-0 Relais_ Log_Pos: 864

重新lais_Master_Log_File: mysql - bin.000005

Slave_IO_Running:是

Slave_SQL_Running:是

Replicate_Do_DB:

Replicate_Ignore_DB:

Treplize_Table:

Replicate_Wild_Do_Table:

Replicate_Wild _Ignore_Table:

Last_Errno:0

Last_Error:

Skip_cunter:0

Expor_master_log_poC:911-Relay_Lay_Space:1037

bis_37

bis_CLACTLE:0

bis_SCLACE:Master_SSL_CA_Fichier:

Master_SSL_CA _路径:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master:0

Master_SSL_Verify_Server_Cert:否_No♹Last_IO:_Ero 错误:

Last_SQL_Errno:

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id:2433306

Master_UUID:ed611fac-75a8-11e6-9219-000c29d651e0

Master_Info_30.0 SQL _Delay:0

SQL_Remaining_Delay:NULL

Slave_SQL _Running_State:从机已读取所有中继日志;等待从 I/O 线程更新 _SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

1 row in set (0.00 sec)

如何在一台机器上安装多个 mysql 数据库以及如何启动多个 mysql 服务。在线等待,

该架构常用于以下三种场景

1。将多台服务器的数据备份到一台服务器。按照数据分割的方向,是垂直分割。例如,在图 2 中,商店 A、B、C 和 D 之前是拆分商店。现在需要对这些拆分存储进行聚合和备份。这个需求也非常适合多源复制架构。我大致描述一下实现方法:商店A、B、C、D分别在4台服务器上。每台服务器都有一个数据库,隔离前端业务数据。这样,四家公司的数据就可以全部存储在从库中了。无需执行额外操作即可进行汇总。在多源复制之前,为了满足这种需求,我们只能在汇总机上构建多个MySQL实例,这不可避免地涉及到跨数据库关联问题。不仅性能会显着下降,而且也没有单一服务器来管理多个实例。来吧。

2。用于聚合来自多个前端服务器的分片数据。

同样,按照数据分割的方向,是水平分割。例如图3中,如果数据按照年份划分,要做一个汇总数据展示,这种结构也是非常合适的。实现方法稍微复杂一些:比如所有服务器共享相同的数据库和表。一般为了实现开发的极度透明,前端都会配置库表分离的中间件,比如艾克森的DBLE。

3。汇总并合并来自不同服务器的数据

第三种情况与第一种情况类似。不同的是,不仅需要将数据聚合到目标端,还需要对数据进行合并,相对第一种方法来说要复杂一些。例如,如图4所示,这个需求是否也适合多源复制?答案是肯定的。那么具体该怎么做呢?

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门