大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说【Linux Mysql主从配置】整理主从配置遇到的坑!「终于解决」,希望您对编程的造诣更进一步.
说明:-u :用户名 -p :密码 –lock-all-tables :执行操作时锁住所有表,防止操作时有数据修改
1、设置mysql配置文件[ 我使用的宝塔,所以直接在软件商店的mysql里边直接进行配置设置 ]
主服务器:【mysqld】:log-bin=mysql-bin log_slave_updates=1 skip-grant-tables【跳过验证权限】 server-id = 1
从服务器:【mysqld】:log-bin=relay-bin server-id = 2 skip-grant-tables【跳过验证权限】
注:一定要放行3306端口,否则连接不上!配置成功后,重启mysql服务;我是手动直接点击重启的!
2、登录到主服务器的mysql;创建一个在从服务器上同步时使用的账号;
创建账户:create user “用户名”@”访问主机” identified by “密码”;
赋予权限:grant 权限列表 on 数据库 to “用户名”@”访问主机” ;【GRANT REPLICATION SLAVE ON *.* TO “slave”@”%” identified by “slave”;】
注:我已经在mysql里创建好了账号和密码,所以直接利用第二句给创建的账号赋予的权限;赋予权限时可以直接给从服务器root赋予权限,也可以给root下子账号赋予权限;
完成之后使用“FLUSH PRIVILEGES”进行刷新;
3、在主服务器终端获取二进制日志信息;
SHOW MASTER STATUS;
代码100分
注:File为使用的日志文件名字,Position为使用的文件位置,这两个参数须记下,配置从服务器时会用到
4、进入从服务器,进入到mysql,设置连接master主服务器
change master to master_host=”主服务器IP”, master_user=”账号”, master_password=”密码”,master_log_file=”mysql-bin.000008″, master_log_pos=107;
- master_host:主服务器Ubuntu的ip地址;
- master_log_file: 前面查询到的主服务器日志文件名;
- master_log_pos: 前面查询到的主服务器日志文件位置
5、开启同步,查看同步状态
6、测试主从同步
在主服务器mysql中创建一个数据库,
在从服务器中查看新建的数据库是否存在;
7、其他的坑:
查看复制账户是否存在且是否赋予权限:mysql> show grants for “usvr_replication”@”%”;
+—————————————————————————————————————————–+
| Grants for usvr_replication@% |
+—————————————————————————————————————————–+
| GRANT REPLICATION SLAVE ON *.* TO “usvr_replication”@”%” IDENTIFIED BY PASSWORD “*F4039654D0AFD80BB0A7775938EFD47ACB809529” |
+—————————————————————————————————————————–+
1 row in set (0.00 sec)
————————————————
从B使用该账户连接至A mysql -uusvr_replication -h 192.168.83.35 -p -P55944
如果第一次尝试复制失败后,在进行第二次尝试时候必须停止第一次的链接stop slave;
上述方法在做的时候未进行从服务器权限配置,因为从服务器在配置完成后已经锁住,当你在从服务器中表中加入数据时候,主服务器数据并不会做出改动。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9077.html