MySQL主从复制配置
MySQL主从复制配置
很简单。

主节点:172.30.0.193
从节点:192.168.199.220
linux:Ubuntu18.04
主节点
-
修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf,启用二进制日志文件,[mysqld]下添加:server-id = 1 log_bin = mysql-bin binlog_format = mixed innodb_file_per_table = ON skip_name_resolve = ON # server-id为当前节点设置一个全局唯一ID -
重启MySQL,
service mysql restart -
进入MySQL,
mysql -u root -p1)查看二进制日志是否开启:
show global variables like '%log%';![]()
2)查看保存的二进制文件名:
show master status;![]()
3)创建有复制权限的用户:
grant replication slave, replication client on *.* to 'repluser'@'192.168.199.220' identified by 'replpass';4)刷新:
flush privileges -
开启远程连接
vim /etc/mysql/mysql.conf.d/mysqld.cnf # 设为:bind-address = 0.0.0.0
从节点
-
修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf,启用二进制日志文件,[mysqld]下添加:server_id = 2 relay_log = relay-log relay_log_index = relay-log.index innodb_file_per_table = ON skip_name_resolve = ON -
重启MySQL,
service mysql restart -
进入MySQL,
mysql -u root -p1)查看 server 相关信息:
show global variables like '%server%';![]()
2)配置访问主节点
CHANGE MASTER TO MASTER_HOST='172.30.0.193',MASTER_USER='repluser',MASTER_PASSWORD='replpass', MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=0;MASTER_LOG_FILE要写show master status;输出的文件名,它表示主节点当前正在写入的日志文件,也是日志列表的最后一个,show master logs;。![]()
3)启动复制线程:
start slave;START SLAVE 可以指定线程类型:IO_THREAD ,SQL_THREAD, 如果不指定,则两个都启动。
4)查看节点状态:
show slave status\G;,Slave_IO_Running和Slave_SQL_Running都已经开启了。![]()
测试
-
在主节点创建数据库,并查看主节点二进制日志信息
create database test_saync; show master status;![]()
-
在从节点查找二进制日志文件,并查看
test_saync数据库是否复制成功![]()
![]()
-
完
一主多从时,按照从节点的方法配置多个即可。需要在主节点添加新从节点的连接信息。
主从复制原理、数据同步延时、主库宕机相关问题: MySQL读写分离








浙公网安备 33010602011771号