linux系统如何为mysql设置主从服务器?

如何在linux环境下设置mysql主从服务器呢?设置mysql主从服务器,听上去很高大上的样子,其它实现起来也是不难的。一般设置主从服务器,主要是为了数据安全,即使主服务器出现问题,还可以从从服务器中来恢复数据,或者直接从从服务器中来读取数据。那么,linux系统运用怎样来配置mysql的主从服务器呢

既然是主从服务器,就说明要有2个服务器:一台master(主服务器),一台slave(从服务器)。

主服务器在局域网中的IP地址:192.168.213.131,从服务器在局域网中的IP地址:192.168.213.132。

如何为这2台安装linux系统及mysql数据库,这里就不多说了,这里主要讲解如何配置主从服务器。

第一步:修改主服务器的my.cnf文件。

打开my.cnf文件:

vim /etc/my.cnf

打开后,向里面添加以下代码:

server-id=131
log-bin=mysql-bin
binlog-format=mixed

上面代码说明:131是服务器ID号,mysql-bin是2进制日志文件名,mixed是2进制日志格式

第二步:修改从服务器的my.cnf文件。

打开my.cnf文件中添加如下代码:

server-id=132
log-bin=mysql-bin
relay-log=mysql-relay
binlog-format=mixed

第三步:在主服务器中授权从服务器的用户权限:

进入mysql,再输入下面的代码

grant replication slave on *.* to repl@'192.168.213.%' identified by 'repl';

刷新内存
flush privileges;

上面用%通配符来通配局域网下所有的机子。当然也可以只写一个。

第四步:为从服务器配置主从同步

在从服务器上配置主从同步,进入mysql,再输入代码:

change master to
master_host='192.168.213.131',
master_user='repl',
master_password='repl',
master_log_file='mysql-bin.000001',
master_log_pos=0;

解说: change master to 配置和改变 slave服务器用于连接master服务器的参数,上面代码是修改:主机IP、用户名、密码、binlog文件、binlog位置等信息。

到这里,主从服务器的配置就基本完成。但是,在测试过程中,可能会出现一些错误。

第五步:出错处理。
一:如果查看从服务器状态信息时,出错了,如:

Last_IO_Error: error connecting to master '[email protected]:3306' - retry-time: 60 retries: 86400

表示,可能是主服务器防火墙的原因,我们可以关闭主服务器防火墙试看,

service iptables stop 【centos 6 用】
systemctl stop iptables.service 【centos 7 用】

然后再先关闭从服务器,再打开,再查看状态,就正常了。
二:start slave时出错,如下:

ERROR 1201 (HY000): Could not initialize master info structure; more error...

解决方法:

slave stop;
reset slave;
start slave;

按上面顺序执行一遍,一般就解决了。

重要提示:

一、主服务器和从服务器的【mysql版本】最好是一样的,或者 从服务器版本 比 主服务器版本新,因为版本是向下兼容。
二、一般主从服务器是同一个局域网中;
三、设置好主从服务器后,最好是重新启动一下Mysql。

好了,到这里,linux环境下配置mysql主从服务器就弄好了。接下来,只要我们在主服务器上对mysql数据库有所操作,都会通过2进制文件复制到从服务器的mysql数据中。如:在主服务器的mysql数据库中创建了一个新的数据库ssmay,这时,在从服务器的mysql数据库列表中我们就会看到有一个名为ssmay的数据库。主从服务器基本上是同步,一般相差几毫秒的样子。

转载于:https://my.oschina.net/hero2019/blog/1841159

猜你喜欢

转载自blog.csdn.net/weixin_33810006/article/details/91945510