一. 在主库中操作
0. 配置my.ini文件
#主库id不能重复 server_id=1 #开启bin-log log_bin=master-bin log_bin-index=master-bin.index #不需要同步的数据 binlog-ignore-db=mysql binlog-ignore-db=sys binlog-ignore-db=information_schema binlog-ignore-db=performance_schema
1. 创建一个用于复制的用户,并授予复制权限 同步Slave
//PS: 'rep_user'@'192.168.11.14' 这里的IP代表slave机的IP //如果是8.0以上的SQL版本, 要切换密码加密模式-mysql_native_password ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
//创建用户 CREATE USER 'rep_user'@'192.168.11.14' IDENTIFIED BY '123456a'; //授权 GRANT REPLICATION SLAVE ON *.* TO 'rep_user'@'192.168.11.14'; //刷新权限 FLUSH PRIVILEGES;
2. 查看用户信息及权限
SELECT User, Host, authentication_string, plugin, Grant_priv, Super_priv FROM mysql.user;
3. 查看权限表
SELECT * FROM information_schema.USER_PRIVILEGES;
4. 在主服务器上执行以下命令,记录 File 和 Position 的值,这些值将在从服务器上使用:
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
5. 记录 File 和 Position 的值后,解锁表(在最后start slave后才操作):
UNLOCK TABLES;
二. 在从库中操作
0. 配置从库my.ini文件
#主动库id不能重复 server_id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin
1. 在my.ini文件中, 填写好相关参数并启动了MYSQL服务后.
change master to master_host='192.168.145.222',master_user='root',master_password='123456', master_log_file='mysql-bin.000004',master_log_pos=308; //注意不要断开,308数字前后无单引号。
2. 启动从服务器复制功能
start slave;
3. 检查从库的同步状态
show slave status\G;
4. 状态正常后, 解锁主库的表
UNLOCK TABLES;
注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
PS: 如果用NAVICAT工具手动执行, 有可能会导致同步失败, 同步状态以代码方式进行的.
本文为宁若水!原创文章,转载无需和我联系,但请注明来自[若水]博客 www.lalaya.net