服务器 | IP | 部署的应用 |
---|---|---|
MySQL主服务器 | 192.168.204.131 | mysql-boost |
MySQL从服务器 | 192.168.204.135 | mysql-boost |
1.配置主服务器
1.1创建用于数据同步的用户’slave’,分配replircation slave权限
mysql -uroot -p
Enter password:
mysql> grant replication slave on *.* to 'tp5shop'@'192.168.204.%' identified by '1234';
mysql> flush privileges;
1.2修改配置文件
vim /usr/local/mysql/my.cnf
#添加如下配置
log-bin=/usr/local/mysql/data/binlog # 开启binlog
server-id=104
binlog-do-db=tp5shop # 需要同步的数据库,如果不配置则同步全部数据库
expire-logs-days=10 # binlog日志保留的天数,清除超过10天的日志
# 防止日志文件过大,导致磁盘空间不足
:wq
1.3重启MySQL,并查看binlog日志信息
systemctl restart mysql
mysql -uroot -p
Enter password:
mysql> show master status\G;
2.配置从服务器
2.1修改配置文件
vim /usr/local/mysql/my.cnf
relay-log=/usr/local/mysql/data/relay.log#开启中继日志
server-id=2 #添加服务ID,不要和其他mysql服务器重复
2.2使用change master to指定主服务器,并实现数据同步
mysql -uroot -p
Enter password:
mysql> change master to
-> master_host='192.168.204.131', #master的IP
-> master_user='slave', #授权的用户
-> master_password='1234', #用户密码
-> master_port=3306, #master端口号
-> master_log_file='#填写master上的binlog文件名',
-> master_log_pos='#填写master上的binlog位置';
2.3启动复制线程,开始同步
mysql> start slave;
mysql> show slave status\G; #查看同步状态
...
Slave_IO_Running: Yes 代表成功连接到master并且下载日志
Slave_SQL_Running: Yes 代表成功执行日志中的SQL语句