十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文主要给大家介绍Linux系统MySQL主从如何实现讲义,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在创新互联行业资讯里面关注我的更新文章的。
目前创新互联已为1000+的企业提供了网站建设、域名、网站空间、绵阳服务器托管、企业网站设计、贵溪网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
这里首先要创建一个你要同步的数据库作为测试用
首先再master上创建一个备份账户 这里创建的账户为repl %表示任意地址的repl用户均可登入master主库
GRANT REPLICATION SLAVE ON *.* TO 'repl '@'%' IDENTIFIED BY 'Abcd@1234';
GRANT ALL PRIVILEGES ON *.* TO 'repl'@'%' IDENTIFIED BY 'Abcd@1234' WITH GRANT OPTION;
从库机器上连接主库命令 mysql -h IP地址 -uroot -p ; 测试从库连接主库,如无法连接,进行授权解决
(这里我使用第一个账户授权时到时配置完成后无法同步数据,原因是权限不够,所以这里我直接使用第二个授权命令)
修改my.cnf配置文件
vi /etc/my.cnf
加入如下参数:
server-id=1
log-bin=/var/lib/mysql/mysql-bin
binlog_do_db= test #主从同步数据库名称
character-set-server=utf8 #仅适用5.5以上版本
保存后,重启数据库 service mysqld restart;
查看server-id是否已生效
show variables like 'server_id';
如果server_id'不存在执行,创建 SET GLOBAL server_id=1;
查看主机状态 show master status;
记录下 File 和Position 后面配置从库时会用到
从库配置
这里一样要创建一个数据库,要与master上的库一致才可以(ps,仅限测试用例,正式环境为了保证数据的完整性,要从主库备份要同步的库还原到从库)
修改my.cnf配置文件
vi /etc/my.cnf
加入如下参数:
server-id = 2
log-bin=/var/lib/mysql/mysql-bin
replicate-do-db = test #主从同步数据名称
character-set-server=utf8 #仅适用5.5以上版本
保存后,重启数据库 service mysqld restart;
查看server-id是否已生效
show variables like 'server_id';
停止slave 服务
stop slave;
设置从库连接时登录主数据库的账号和密码等信息,然后启动slave (ps:这最好重新查看一下master状态,以防信息发生改变 show master status; )
CHANGE MASTER TO MASTER_HOST = '192.168.1.185' ,MASTER_USER = 'repl'
,MASTER_PASSWORD ='Abcd@1234'
,MASTER_LOG_FILE ='mysql-bin.000001'
,MASTER_LOG_POS =437;
开启slave
start slave;
show slave status;
查看这两项是否为YES,yes为正常。
Slave_IO_Running: Yes 或 Connecting to master
Slave_SQL_Running: Yes
正常说明配置成功,接下来进行测试就可以了
show processlist 可以在master上查看 slave线程状态
看了以上关于Linux系统Mysql主从如何实现讲义,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。