192.168.1.135(主)192.168.1.137(从)
重启mysql服务器: systemctl restart mysqld.service
mysql -uroot -p回车输入密码即可
一、查看mysql版本 select version();
二、查看二进制日志文件是否开启
确切查找show variables like ‘log_bin’;
主从都是off关闭的,MySQL5.7 的bin-log 功能开启:MySQL5.7版本中,my.cnf 的位置一般在/etc/my.cnf,要在my.cnf中添加server-id:
配置要同步的数据库
主数据库配置:
[mysqld]
#其他不相关配置
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
#binlog-do-db=test
#binlog-ignore-db=mysql
从数据库配置:
[mysqld]
#其他不相关配置
log-bin=mysql-bin
binlog_format=mixed
server-id = 2
read-only=on
relay-log=relay-bin
#replicate-do-db=test
#replicate-ignore-db=mysql
relay_log=relay_98_3326
重启mysql再通过:show variables like ‘log_bin’; 查看是否开启
三、在主服务器上为从服务器创建一个从来同步数据的账号
GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’ IDENTIFIED BY ‘Slave123!@#’;
为所有数据库所有表创建一个slave’密码Slave123!@# 分配的权限是REPLICATION SLAVE
四、查看主服务器bin日志的状态
show master status;
注意:每次修改数据时这两个值都会变,所以查看了这两个值之后,不要操作主服务器、直到从服务器配置完成之后,否则这个值对应不上会同步失败。
五、配置从服务器
change master to master_host=‘192.168.1.135’,master_user=‘slave’,master_password=‘Slave123!@#’,master_log_file=‘mysql-bin.000002’,master_log_pos=430;
注意:上面这个是一句命令行。ip为主服务器的IP,后面两个参数是上面得到的数据
启动从服务器
START SLAVE;
Reset slave; 重置slave
Stop slave; 停止slave;
SHOW SLAVE STATUS \G
另外还可以当start slave;的时候可以先stop slave; 再reset slave; 重置slave之后再重新
change master to master_host=‘192.168.1.135’,master_user=‘slave’,master_password=‘Slave123!@#’,master_log_file=‘mysql-bin.000002’,master_log_pos=430;
然后SHOW SLAVE STATUS \G
要确保两个都为yes才行呢,继续
show variables like ‘datadir’;
select uuid(); //记下uuid
然后进入datadir目录
cd /var/lib/mysql/
vi auto.cnf
//修改server-uuid 修改为上一步得到的uuid
重启mysql
输入:SHOW SLAVE STATUS \G
好了,可以测试了
使用MySQL-Front工具连接上主、从数据库,在主数据库中创建一个数据库文件为classify,刷新 从数据库看是否多了一个classify数据库文件。存在的话就大功告成了~~~~
主要用途:主:增删改 CUD 从:查R