百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> linux下搭建mysql主从办事器
分享文章到:

linux下搭建mysql主从办事器

发布时间:09/01 来源:未知 浏览: 关键词:

实现目标

此刻需要搭建两台MySQL效劳器(一主一从),一台作为主效劳器,一台作为从效劳器,主效劳器停止写操纵,从效劳器停止读操纵。

工作流程

主效劳器:

开启二进制日志

配置独一的server-id

获得master二进制日志文件名及位置

创立一个用于slave和master通讯的会员账号。

从效劳器:

配置独一的server-id

使用master分配的会员账号读取master二进制日志

启用slave效劳。

(免费学习视频教程引荐:mysql视频教程)

预备工作

主从数据库版本最好一样

主从数据库内数据保持一致

主数据库:192.168.244.201 : 3306

从数据库:192.168.244.202 : 3306

开端配置

配置 Master 主效劳器

寻到主数据库的配置文件my.cnf(Windows中是my.ini),我的在/etc/my.cnf
在[mysqld]部分插入如下两行:

[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=201 #设定server-id,独一值,标识主机

重新启动mysql效劳

systemctl restart mysqld

创立用于主从同步的账号/密码

进入MySQL : mysql -u root -p 回车输入密码。

我创立的会员名叫“master_root”密码是“MySql@6688”

【留意:由于此前把密码改成支撑简便密码123456的了,致使这里创建会员显现一些问题,说密码不相符战略等,后来干脆我重装mysql,使用默许复杂密码了,就没有这么多问题了。习惯就好其实。】

下面我都用的%,没有写详细ip,你可以自行决议。

#创立会员(IP为可拜访该master的IP,任意IP就写'%')
mysql> CREATE USER 'master_root'@'192.168.244.202' IDENTIFIED BY 'MySql@6688';
#分配权限(IP为可拜访该 master的IP,任意IP就写'%')
mysql> GRANT REPLICATION SLAVE ON *.* TO 'master_root'@'192.168.244.202';
 #刷新权限
mysql>flush privileges;

查看master状态,记载二进制文件名(mysql-bin.000001)和位置(154).后面配从库要用。

show master status;

2d3439200626acfc529c978fd69353a.png

配置 Slave 主效劳器

修改my.cnf 文件

vim /etc/my.cnf
[mysqld]
server-id=202 #设定server-id,独一值,独一标识从库

重新启动mysql效劳

systemctl restart mysqld

登录进入mysql,施行同步sql语句(主效劳器名,用于主从的会员名,密码,二进制文件名,位置)

mysql> CHANGE MASTER TO
    -> MASTER_HOST='192.168.244.201',
    -> MASTER_USER='master_root',
    -> MASTER_PASSWORD='MySql@6688',
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=154;

启动slave同步进程

mysql>start slave;

查看slave状态

show slave status\G

留意后面不要分号;不然最后一行显示报错如下:

ERROR: No query specified

当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设定成功了。

接下来就可以停止一些验证了,比方在主master数据库的test数据库的一张表中插入一条数据,在slave的test库的雷同数据表中查看可否有新增的数据即可验证主从复制功效可否有效,还可以关闭slave(mysql>stop slave;),然后再修改master,看slave可否也响应修改(休止slave后,master的修改不会同步到slave),就可以完成主从复制功效的验证了。

其他相关参数:

master开启二进制日志后默许记载所有库所有表的操纵,可以通过配置来指定只记载指定的数据库乃至指定的表的操纵,详细在mysql配置文件的[mysqld]可增加修改如下选项:

不一样步哪些数据库

binlog-ignore-db = mysql
binlog-ignore-db = test
binlog-ignore-db = information_schema

只同步哪些数据库,除此之外,其他不一样步

binlog-do-db = game

如此前查看master状态时就可以看到只记载了test库,忽略了manual和mysql库。

相关文章教程引荐:mysql教程

以上就是linux下搭建mysql主从效劳器的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板