mysql主备
Posted fu同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主备相关的知识,希望对你有一定的参考价值。
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,则主从配置成功了。
主服务器插入数据,测试从服务器数据库是否同步新增。
mysql主备切换是啥意思?
如题,跪求高手指点。
参考技术A 这一般是数据库的安全策略,对于一些安全性要求比较高的系统,数据库通常是由主服务器和备份服务器组成,主备同时运行,主服务器有数据改动后,立刻会同步到备份服务器。所以在日常运维工作中,为了防患于未然,经常会进行主备切换,就是把生产对接的服务器从主数据库切换到备份库上,使用备份库运行一段时间,看看备份库运行是否正常,数据是否正确等。切换的操作只需将连接池中,数据库服务器的Ip换成备份库Ip就可以了。追问
为什么我看到的另一种说法是主库变从库,从库变主库?
追答一个意思啊。
亲,记得采纳哦!
以上是关于mysql主备的主要内容,如果未能解决你的问题,请参考以下文章