两台mysql数据库服务器配置为主从数据库,让其中一台数据库数据实时同步到另外一台,起到备份作用
一、首先两台服务器需要先安装好mysql,参考linux安装mysql5.7.24
二、配置主服务器
1、配置文件my.cnf添加下面
server-id=1
log_bin=linux1
2、重启mysql
service mysqld restart
3、进入data目录(有些是data/mysql)查看是否有前缀linux1的两个文件生成,如果有则上面的配置已经生效
4、创建一个用于同步数据的用户
先登录mysql
mysql -uroot -p
登录之后,执行下面,flush privileges是立即生效,刷新的意思,repl是同步数据的用户账号,root是密码,ip地址是从库的ip(自己修改)
flush privileges;
grant replication slave on *.* to 'repl'@'192.168.114.2' identified by 'root';
flush privileges;
5、锁表,防止数据库使用
flush tables with read lock;
6、查看信息,记住执行下面之后显示的File和Position,下面会用到
show master status;
三、配置从库
7、配置文件my.cnf添加
server-id=110
8、重启数据库
service mysqld restart
9、实现主从同步
登录数据库
mysql -uroot -p
登录之后,执行下面,ip地址是主库的ip(自己修改),repl是上面配置的账号,root是密码,master_log_file是第6步查看的文件名字(自己修改),master_log_pos也是第6步产看的位置(自己修改)
flush privileges;
stop slave;
flush privileges;
change master to master_host='192.168.114.1',master_user='repl',master_password='root',master_log_file='linux1.000001',master_log_pos=10844;
flush privileges;
检测主从是否配置成功,接着上面执行
start slave;
show slave status\G;
四、主服务器解锁表
10、还没登录数据库的话要先登录,然后执行下面
unlock tables;
flush privileges;
五、测试
直接进入主服务器的数据库,增加一条数据,看从服务器的数据库会不会增加