mysql 主从配置

时间:2021-12-26 06:24:45

简单一主多从

在主master 主服务器上

vi /usr/my.cnf 修改mysql主配置文件,对master进行配置,包括打开二进制日志,指定唯一的servr ID

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=1 #配置server-id,让主服务器有唯一ID号 log-bin=mysql-bin #打开Mysql日志,日志格式为二进制 skip-name-resolve #关闭名称解析,(非必须)

创建并授权slave mysql 用的复制帐号

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO [email protected]% IDENTIFIED BY erhao;
分析:在Master的数据库中建立一个备份帐户:每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE权限。

在Master的数据库执行show master status,查看主服务器二进制日志状态,位置号

mysql 主从配置

 

 

在从slave mysql1上

vim /usr/my.cnf 打开中继日志,指定唯一的servr ID,设置只读权限 修改主配置文件

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=2 #配置server-id,让从服务器有唯一ID号 relay_log = mysql-relay-bin #打开Mysql日志,日志格式为二进制 read_only = 1 #设置只读权限 log_bin = mysql-bin #开启从服务器二进制日志,(非必须) log_slave_updates = 1 #使得更新的数据写进二进制日志中

启动从服务器复制线程,让slave连接master,并开始重做master二进制日志中的事件。

 mysql>    change master to master_host= 10.20.0.6 ,   master_user=slave,   master_password=‘erhao‘,   master_log_file=‘mysql-bin.000002‘,    master_log_pos=2126693;



mysql> start slave;
mysql>  show slave status;

查看从服务器状态,如下所示,也可用show processlist G查看当前复制状态:

Slave_IO_Running: Yes #IO线程正常运行

Slave_SQL_Running: Yes #SQL线程正常运行

参考资料https://www.cnblogs.com/along21/p/8011596.html#auto_id_6