如何在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 'repl@192.168.213.128: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的数据库。主从服务器基本上是同步,一般相差几毫秒的样子。