如何在linux环境下设置mysql主从服务器呢?设置mysql主从服务器,听上去很高大上的样子,其它实现起来也是不难的。通常设置主从服务器,主要是为了数据安全,即便主服务器出现问题,还能够从从服务器中来恢复数据,或者直接从从服务器中来读取数据。那么,linux系统运用怎样来配置mysql的主从服务器呢?html
既然是主从服务器,就说明要有2个服务器:一台master(主服务器),一台slave(从服务器)。mysql
主服务器在局域网中的IP地址:192.168.213.131,从服务器在局域网中的IP地址:192.168.213.132。linux
如何为这2台安装linux系统及mysql数据库,这里就很少说了,这里主要讲解如何配置主从服务器。sql
第一步:修改主服务器的my.cnf文件。数据库
打开my.cnf文件:vim
vim /etc/my.cnfcentos
打开后,向里面添加如下代码:安全
server-id=131
log-bin=mysql-bin
binlog-format=mixed服务器
上面代码说明:131是服务器ID号,mysql-bin是2进制日志文件名,mixed是2进制日志格式ide
第二步:修改从服务器的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;
按上面顺序执行一遍,通常就解决了。
重要提示:
1、主服务器和从服务器的【mysql版本】最好是同样的,或者 从服务器版本 比 主服务器版本新,由于版本是向下兼容。
2、通常主从服务器是同一个局域网中;
3、设置好主从服务器后,最好是从新启动一下Mysql。
好了,到这里,linux环境下配置mysql主从服务器就弄好了。接下来,只要咱们在主服务器上对mysql数据库有所操做,都会经过2进制文件复制到从服务器的mysql数据中。如:在主服务器的mysql数据库中建立了一个新的数据库ssmay,这时,在从服务器的mysql数据库列表中咱们就会看到有一个名为ssmay的数据库。主从服务器基本上是同步,通常相差几毫秒的样子。