环境说明
两台临时服务器,一主一从
数据库角色 | IP | 应用与系统版本 | 有无数据 |
主数据库 | 60.205.3.224 | CentOS7.6 | 有 |
从数据库 | 59.110.16.219 | CentOS7.6 | 无 |
1、主/从服务器防火墙开放3306端口
防火墙添加一条允许3306的规则
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
2、主服务器MySQL创建远程登录账号
create user 'root'@'%' identified by 'root';
grant all on *.* to 'root'@'%';
flush privileges;
3、主服务器MySQL创建应用数据库
cs_yingyong,source 导入数据库
4、给主库加锁
mysql> flush tables with read lock;
5、从库远程备份主库
mysqldump -h60.205.3.224 -uroot -p --all-databases > /home/www/all.sql
6、解除主库的锁表状态,直接退出即可
mysql>exit;
7、在从库上恢复主库的备份并查看从库有哪些库,确保与主库一致
mysql> source /home/www/all.sql
8、在主数据库里创建一个同步账号授权给从数据库使用
create user "slave_user"@"59.110.16.219" identified by "slave_user@cpt";
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'59.110.16.219';
flush privileges;
9、主库服务器上修改配置
vim /etc/my.cnf
log-bin=g
server-id=2000
10、重启主服务器mysql
lnmp mysql restart
mysql> show master status;
+----------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------+----------+--------------+------------------+-------------------+
| g.000002 | 154 | | | |
+----------+----------+--------------+------------------+-------------------+
11、配置从数据库
vim /etc/my.cnf
log-bin=j
server-id=2001
重启mysql
lnmp mysql restart
修改从库配置
mysql> change master to
master_host='60.205.3.224' ,
master_user = 'slave_user' ,
master_password = 'slave_user@cpt' ,
master_log_file = 'g.000002' ,//show master status 中的File
master_log_pos = 154;//show master status中的Position
启动服务
mysql> start slave;
mysql> show slave status \G
12、测试
修改主库后,查看从库数据