mysql 主从复制
- 1.主库 第一步
- 创建账号 create user tianwning@’192.168.0.%’ identified by ‘Njutwangjie1994!’
开启权限 grant replication slave on tianwning@’192.168.0.%’ - 2.配置主库和备库
主库需要在 /etc/mysql/mysql.conf.d/mysqld.cnf 中配置日志
log_bin = mysql-bin 指定日志的名字
server_id = 1 (必须明确一个唯一的 服务器ID)
备库中需要配置为log_bin = mysql-bin(默认情况会根据机器来命名,但如果机器名变化了可能会导致slave出现问题)
server_id = 2
relay_log = /var/lib/mysql/mysql-relay-bin (指定中继日志的位置和命名)
log_slave-updates = 1 (允许备库将其重放的时间记录到自身的二进制的日志中,以防止检查日志的时候使用)
read_only = 1 (只能可读 阻止没有特权权限的线程修改数据)3.启动复制
- change master to master_host = ‘192.168.0.109’, master 的ip地址
master_user = ‘tianwning’, master的账户名
master_password = ‘Njutwangjie1994!’,
master_log_file= ‘mysql-bin.000001’,
master_log_pos = 0;
master_user master 的ip地址
master_user master的账户名
master_password master的账户密码
master_log_file master的日志 show master status可以查看日志状态和名字
master_log_pos
参数设置为0表示,从日志的开始头读起(0并不是日志真正开始的位置,仅仅意味着在日志文件头, mysql是从第四位开始读的)
可以通过show master/slave status 查看主从复制的状态 start slave stop slave
(日志中行复制 和 段复制的区别请见高性能mysql)