随着访问量的增加,对于一些比较耗时的数据库读取操作,一般采用将写入与读取操作分开来缓解数据库的压力,数据库引擎一般采用Master/Slave架构。实现mysql服务器的主从配置,可以实现读写分离,另外在主数据库崩溃后可以从备用数据库中恢复数据以不至于网站中断访问。下面简单说下mysql主从服务器配置的过程。
首先需要在同一个局域网内的两台机器(当然也可以用一台机器虚拟两台机器出来),都安装上mysql服务。
主机A: 192.168.1.100
从机B: 192.168.1.101
可以有多台从机。
1、先登录主机 A,执行如下命令赋予从机权限,如果有多台丛机,就执行多次:
2、 打开主机A的my.cnf,输入如下配置参数:
3、打开从机B的my.cnf,输入如下配置参数:
4、同步数据库
进过以上的配置,分别重启主机A和从机B,即可自动实现同步。
5、验证
在主机A中,mysql>show master status\G;
能看到大致这些内容
File: mysql-bin.000001
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
在从机B中,mysql>show slave status\G;
显示内容如下图所示:
可以看到Slave_IO_State项为Waiting for master to send event且红圈中两项皆为Yes,那么基本上可以确定是配置成功了
另外可以在主机A中,做一些INSERT
, UPDATE
, DELETE
操作,看看主机B中,是否已经被修改。
常见错误
1、master发生故障,经修复后启动后,slave无法与master同步
报错:Got fatal error 1236 from master when reading data from binary log
原因:master重启后,mysql的binlog会重新生成,相应的记录位置会改变
解决方法:
-master:
记录下File和Position值
-slave:
2、slave发生故障,设置正确,但是无法初始化
报错:ERROR 1201 (HY000): Could not initialize master
解决方法:
-master:
记录下File和Position值
-slave:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。