mysql主备机器配置
主备
主:主机,备:备机。
主机的意思当然是以它为主了,读写都是主机上,而备机呢就是备用,默默的在背后吸收主机的数据,时刻待命着等待主机挂了之后取而代之(没这么坏哈哈)。因此在主机还活着的情况下,备机的唯一使命就是同步主机的数据,不对外提供服务。
首先准备两台数据库:
主数据库:192.168.180.101
从数据库:192.168.180.102
防火墙:
iptables -I INPUT 1 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables save
一,mysql主服务器配置
先注意服务命令:
service mysqld start #启动数据库
service mysql stop #停止数据库
service mysql restart #重启数据库
在主机数据库修改配置文件
vim /etc/my.cnf
#在[mysqld]中添加
#启用二进制日志
log-bin= mysql-bin-master
#本机数据库 ID 标示,主从配置中ID要唯一
server-id= 1
#可以被从服务器复制的库, 二进制需要同步的数据库名
binlog-do-db= test
#如果有多个数据库,需要重复配置,不能直接在后面用逗号增加,否则mysql 会把这里当成一个数据库
#binlog-do-db= test2
#binlog-do-db= test3
#注释掉 binlog_do_db 和 binlog_ignore_db ,则表示备份全部数据库
#不可以被从服务器复制的库
binlog-ignore-db= mysql
#保存退出
service mysql restart #重启从服务器
第二步,授权主从同步slave用户授权
登录mysql
#mysql5.7
GRANT REPLICATION SLAVE ON . TO ‘slave’@‘从服务器ip地址’ IDENTIFIED BY ‘密码’;
#mysql8.0
CREATE USER ‘slave’@‘从服务器ip地址’ IDENTIFIED BY ‘密码’;
GRANT REPLICATION SLAVE ON . TO ‘slave’@‘从服务器ip地址’;
show binlog events\G; #展示相关状态
二,mysql从服务器配置
如果主服务器已有文件可先手动导入从服务器
主服务器-> mysqldump -u root -p -B test > test.sql #导出test数据库脚本,记住导出的路径。
输入密码导出。
从服务器->登录mysql -> source 文件路径。
第一步,修改从服务器配置文件
vim /etc/my.cnf
#在[mysqld]中修改
server-id=2
#保存退出;
service mysql restart #重启从服务器
#登录从服务器mysql
stop slave; #停止slave
#授权:
#根据上面主服务器的show binlog events\G;的结果,进行从服务器的二进制数据库记录回归,达到同步的效果。
CHANGE MASTER TO MASTER_HOST=‘主服务器ip’, MASTER_USER=‘slave’, MASTER_PASSWORD=‘密码’,MASTER_LOG_FILE=‘mysql-bin-master.000001’, MASTER_LOG_POS=444;
start slave; #启动slave
show slave status\G; #查看状态
可以看到出现了两个为 YES,则主从配置成功了。
主服务器插入数据,测试从服务器数据库是否同步新增。
来源地址:https://blog.csdn.net/fu_tongxue/article/details/127692191