MySQL主从复制
来源:互联网 发布:知无涯 编辑:程序博客网 时间:2024/06/07 01:23
参考:
https://dev.mysql.com/doc/refman/5.7/en/replication.htmlMySQL版本5.7
Master机器地址192.168.6.31
Slave机器地址192.168.6.58
Master机器(192.168.6.31)配置
修改MySQL的my.cnf文件(位于/etc下)
在文件的mysqld节下添加以下内容,如果已有该项,请修改该项的值如下:
[mysqld]#Master复制配置#打开log-bin功能log-bin=mysql-bin#唯一的server-id,int型,大于0server-id=1#在innodb引擎中为保证最大可能的一致性,使用以下两行配置innodb_flush_log_at_trx_commit=1sync_binlog=1
在shell中重启Mysql
service mysql restart;
登陆mysql
mysql –uroot –p
输入密码后执行以下SQL,创建复制用户
CREATE USER 'repl'@'192.168.6.58' IDENTIFIED BY 'repl';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.6.58';
通过SQL锁定主服务器并查看当前日志点
FLUSH TABLES WITH READ LOCK;
在==另一个会话==(可通过SQL图形化工具或在另一个shell中连接上mysql)中使用SQL查询当前日志点,并记录查询出的LOG_FILE和LOG_POS值
SHOW MASTER STATUS;
在shell中执行命令导出Master数据
mysqldump -uroot -p --all-databases --master-data > dbdump.sql
将dbdump.sql文件移动到备服务器上
Slave机器(192.168.6.58)配置
登陆mysql
mysql –uroot –p
使用SQL导入Master导出的数据,dbdump.sql请修改为包含目录的地址,如/usr/local/ dbdump.sql
source dbdump.sql
在==Master机器==执行SQL解除锁定
UNLOCK TABLES;
修改备服务器MySQL的my.cnf文件(位于/etc下)
在文件的mysqld节下添加以下内容,如果已有该项,请修改该项的值如下:
[mysqld]#唯一值,必须与主服务器不同server-id=2
重启备服务器mysql
service mysql restart
在备服务器执行SQL, ==MASTER_LOG_FILE和MASTER_LOG_POS的值需配置为上文SHOW MASTER STATUS 命令查询到的值==
CHANGE MASTER TO MASTER_HOST='192.168.6.31', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=595;
在备服务器执行SQL启动复制
START SLAVE;
从服务器Mysql不能执行DML(数据管理语句)和DDL(数据定义语句),否则将从服务器与主服务器数据不一致,将数据复制将停止。只能通过在主服务器上执行DML(数据管理语句)和DDL(数据定义语句),通过数据复制自动在从服务器上同步执行后的状态。
验证
在主服务器数据库表中依次新增记录、修改该记录、删除该记录,查看从服务器是否也对应自动新增记录、修改该记录、删除该记录。
如果成功,则表示复制正常运行。
如果失败,请检查位于/var/log/mysqld.log的复制日志,查找原因
常见问题检查如下
- 防火墙端口是否开放
- 主从的MYSQL_UUID相同,在Slave服务器/var/lib/mysql/auto.cnf中的值并重启数据库
主从复制常用命令
Master机:
查看Master状态show master status;
Slave从机:
查看Slave状态show slave status;停止复制stop slave;启动复制start slave;
复制故障解决
如果Master宕机,Slave作为读写服务器。如果想启动Master并重新提供Master /Slave服务,需要重新进行日志复制中从FLUSH TABLES WITH READ LOCK开始的配置。
- 【mysql 主从复制】掌握MySQL主从复制
- mysql 主从复制 主从配置
- MySQL主从复制配置
- mysql主从数据复制
- Mysql 主从复制
- mysql的主从复制
- Mysql搭建主从复制
- MySQL主从复制配置
- Mysql 主从数据库复制
- mysql主从复制
- MySQL主从复制
- mysql主从复制
- 配置MySQL主从复制
- Mysql的主从复制
- MySQL主从复制
- MySQL主从复制功能
- Linux MySQL主从复制
- MYSQL 主从复制(Replication)
- Android内存优化(二)
- 【机器学习】回归问题(一)
- MySQL 高可用性—keepalived+mysql双主(有详细步骤和全部配置项解释)
- js 文本显示一段时间后隐藏
- 李嘉诚:知识并不一定使你的财富增加,但是能增加机会
- MySQL主从复制
- 单调性与周期性
- 用Java抓取网页
- MindManager模板下载
- RecyclerView中ViewHolder重用机制理解(解决图片错乱和闪烁问题)
- MySQL Cluster简介
- iOS巅峰之打开图片库和相机选择图片界面修改为简体中文
- eclipse中的navigator,package explorer,project explorer
- Mindjet Maps怎么注册