Mysql 主从赋值
第一步:在主服务器上新建 从服务器可以远程登录的账号,并且授权
mysql 8.0 以上创建用户和授权 需要分开执行;
创建账户: create user 'replicate'@'从服务器地址' identified by '123';
更改密码: set password for 'replicate'@'从服务器地址' = password('123'); 赋予权限: GRANT REPLICATION CLIENT ON *.* TO 'replicate'@'从服务器地址' IDENTIFIED BY 'test'; 权限生效:FLUSH PRIVILEGES;
注意: 如果授权出现 (mysql you need (at least one of) the SYSTEM_USER privilege(s) for this operation)
原因是由于root用户没有SYSTEM_USER权限,把权限加入后即可解决: grant system_user on *.* to 'root';
第二部:修改主服务器上Mysql 配置文件 并重启;
[mysqld] server-id = 1 //唯一id log-bin=mysql-bin //其中这两行是本来就有的,可以不用动,添加下面两行即可.指定日志文件 binlog-do-db = 想要同步的数据库 //记录日志的数据库 binlog-ignore-db = mysql //不记录日志的数据库 注意: Mysql 重启 出现 Failed to restart mysqld.service: Unit not found // 需要安装mysql-server 。 yum install -y mysql-server // 重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。 systemctl daemon-reload // 启动Mysql systemctl restart mysqld.service // 如果需要设置mysql服务开机自启 systemctl enable mysqld.service
第三步: 修改从服务器上Mysql 配置文件 并 重启;
[mysqld] server-id = 2 log-bin=mysql-bin replicate-do-db = 想要同步的数据库 replicate-ignore-db = mysql,information_schema,performance_schema 注意: Mysql 重启 出现 Failed to restart mysqld.service: Unit not found // 需要安装mysql-server 。 yum install -y mysql-server // 重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。 systemctl daemon-reload // 启动Mysql systemctl restart mysqld.service // 如果需要设置mysql服务开机自启 systemctl enable mysqld.service
第四步: 在主服务器Mysql 查看 master_log_file 和 master_log_pos 信息;
show master status\G
第五步: 在从服务器Mysql 进行授权刚刚在主服务建立的 replicate 账号;
mysql>stop slave; //先停步slave服务线程,这个是很重要的,如果不这样做会造成以下操作不成功。 mysql>change master to >master_host='主服务器地址',master_user='replicate',master_password='密码', > master_log_file=' 第四步的第一个信息 ',master_log_pos=第四步的第二个信息; mysql> reset slave;
mysql> start slave;
第六步: 在从服务器Mysql 查看 配置情况;
show slave status\G
显示以下两个结果为成功:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
参考文档:
https://www.cnblogs.com/jianmingyuan/p/10903682.html (mysql 主从复制(mysql双机热备的实现))
https://www.cnblogs.com/hanwuxing/p/10367147.html (MYSQL 解锁与锁表)
https://blog.humh.cn/?p=254 (Failed to restart mysqld.service: Unit not found)
https://blog.csdn.net/mbytes/article/details/86711508 (Mysql主从同步时Slave_IO_Running:Connecting ; Slave_SQL_Running:Yes的情况故障排除)
邮箱: 1090055252@qq.com