系统:centos7(ip乱写的,攻击是不可能的)
主库主机:106.14.8.188
从库主机:115.67.232.31
端口都是:3306
1.修改主机的my.cnf 如果主机做好了信息更改,就不需要再改。如下
vim /etc/my.cnf
2.刷新表然后锁表(只允许查数据不允许写数据) 也可以不锁表,根据实际需要
flush tables with read lock;
备份要同步的数据库的数据
主库备份:
mysqldump -uroot -p SOTP>sotp.sql;
从机数据导入
将主机的数据拷贝到从机,然后导入到从机的数据库。先创建好目标数据库
mysql -uroot -p SOTP<sotp.sql;
主库执行:show master status; 记下 Position 和 File 的值,等下进行从库配置要用到
4.从库信息配置
vim /etc/my.cnf 配置如下参数
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
server_id = 8
log_bin = mysql-bin #开启日志
binlog_format=MIXED #日志记录的格式
max_binlog_size = 512M #单个日志文件最大
#expire_logs_day = 7 #日志有效期(天)
replicate_do_db = SOTP #是在slave上配置,指定slave要复制哪个库
#replicate-ignore-db=mysql,performance_schema,information_schema #是在slave上配置,指定slave要忽略哪个库
relay_log_recovery = 1 #从库建议开启,有利于数据一致性
#log_slave_updates = 1 #如果从库还会用做主库,建议开启
5.重启从库 ,然后进行同步信息设置(注意如下更换对应从机的IP 密码 master_user master_password master_log_file master_log_pos),
其中master_log_file和master_log_pos分别对应 主机上的 Position 与File,步骤3 记录的值
先停止同步,
然后设置同步信息
stop slave;
change master to
master_host=‘192.168.1.252’,
master_user=‘slave’,
master_password=‘123456’,
master_port=3306,
master_log_file=‘mysql-bin.000023’,
master_log_pos=2720;
slave start;
6.从库执行:show slave status\G;
主要四条参数
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Master_Log_File: mysql-bin.000009 和Relay_Master_Log_File: mysql-bin.000009值需相同
7.unlock tables 主库解锁表,若第二步无锁表则不需要
8.主库查看从节点信息 show master status\G
*************************** 1. row ***************************
File: mysql-bin.000009
Position: 258828573
Binlog_Do_DB: SOTP
Binlog_Ignore_DB:
1 row in set (0.00 sec
9.在主机目标数据可以测试新建一个表,看能否同步过去。