MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。
下面就行搭建过程与大家进行分享
首先准备两台服务器或者虚拟机,安装同一版本的mysql,具体的安装过程这里不在多说,mysql安装详情请参考:https://blog.csdn.net/zhaogangyyxf/article/details/78921709
安装完毕后,两个服务器的3306端口全部打开,确保能用连接工具连接到数据库
主数据库Master配置(IP:192.168.1.9):
1.进入修改的配置文件中,
cd /etc
vim my.cnf
2.在symbolic-links=0,修改加一下命令:
server-id=1
log-bin=mysql-bin
修改前
习惯上在修改配置文件的时候一般不能让数据在写入数据库中,目的是为了在启动的时候主从两个数据库数据一致
故将主数据库表上锁;
3.退出mysql,重新启动
service mysqld restart
4.检查配置是否成功,再次进入mysql:
show master status;
mysql-bin.000001日志文件,等会配置从数据库的时候需要这个名字,154是开始复制的位置(不同的服务器154可不同),
这里主数据库配置完毕:
配置从数据库(IP:192.168.1.10);
1.找到my.cnf文件进行修改
同样的位置添加:server-id=2
退出,重新启动;
进入mysql,执行命令
CHANGE MASTER TO master_host='192.168.1.9',master_port=3306,master_user="zhao",master_password="199221",master_log_file='mysql-bin.000001',master_log_pos=154
其中192.168.1.9是主数据库的ip,剩下的大家一看就明白了都是一些参数,其中mysql-bin.000001和154是从主数据库得到的。
查看是否配置成功
show slave status\G
配置失败,
哦,原来是忘记重新启动了,退出重新启动,service msyqld restart
配置成功!
释放主数据库的索,开始测试
unlock tables;
测试:在主数据库创建数据库aaa
create database aaa;
然后看看从数据库是否是有aaa,有则配置成功,没有仔细检查步骤,(3306端口一定要开放哦!)