MYSQL主从复制或双机互备
来源:互联网 发布:今日头条推荐算法 编辑:程序博客网 时间:2024/05/16 08:21
http://www.net527.cn/shujukuguanli/Mysql/2010/0323/8336.html
主从复制配置:
编辑主服务器的配置文件:my.cnf
server-id = 1
log-bin
binlog-do-db=需要备份的数据库名,如需设置多个数据库,重复设置这个选项即可
binlog-ignore-db=不需要备份的数据库名,如需设置多个数据库,重复设置这个选项即可。
编辑从服务器的配置文件:my.cnf
server-id=2(配置多个从服务器时依次设置id号)
master-host=主机
master-user=用户名
master-password=密码
master-port=端口
replicate-do-db=需要备份的数据库名,如需设置多个数据库,重复设置这个选项即可
启动MYSQL并进行配置
1) 在主服务器上为从服务器建立一个用户(建立复制帐号权限):grant replication slave on *.* to‘用户名‘@’主机’identified by‘密码’;(在MySQL 4 dot 0.2以前,用FILE权限来代替REPLICATION SLAVE)
*如果打算在slave上执行LOAD TABLE FROM MASTER或LOAD DATA FROM MASTER语句,那么必须给该帐户授予附加权限:授予全局SUPER和RELOAD权限。授予对想要加载的所有表上的SELECT权限。在master 上任何没有SELECT权限的表都会被LOAD DATA FROM MASTER略过。
2) 将数据从主服务器中导出并导入从服务器
Mysql> flush tables with read lock; #锁定主服务器上的表为只读状态
Mysql> show master status; #查看主节点的状态
[root@server02]# mysqldump -uroot -p --skip-opt --single-transaction --add-drop-table --create-options --quick --extended-insert --set-charset --disable-keys CPMS > cpms.sql #创建一个完整的备份
3)
[root@server02]# scp cpms.sqlroot@172.20.86.27:/tmp# 把数据传输到从节点上
[root@server02]# mysql CPMS < /tmp/cpms.sql #把数据导入到从节点
Mysql>change master to master_host = '主服务器IP', master_user = '刚才建立用来复制的用户名', master_password = '复制用户名的密码', master_log_file = 'mysql-bin.000004', master_log_pos =98; #设置从节点连接主节点(master_log_file和master_log_pos这个需要在主服务器中通过show master status;查看得来)
Mysql>slave start; #启动复制
4) show slave status/G查看复制状态
查看状态 及调试
1,查看master的状态
SHOW MASTER STATUS;
Position不应为0
2,查看slave的状态
show slave status;
Slave_IO_Running | Slave_SQL_Running这两个字段 应为YES|YES.
show processlist;
会有两条记录与同步有关state为Has read all relay log; waiting for the slave I/O thread to update it
和s Waiting for master to send event .
3,错误日志
MySQL安装目录/data/Hostname.err
4,CHANGE MASTER TO
如果A的Slave未启动,Slave_IO_Running为No.
可能会是B的master的信息有变化,
查看B SHOW MASTER STATUS;
记录下File,Position字段.假设为'mysql_binary_log.000004',98 ;
在A下执行:
Stop Slave;
CHANGE MASTER TO
MASTER_LOG_FILE = 'mysql_binary_log.000004',
MASTER_LOG_POS = 98 ;
Start Slave;
5,SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
如果A的Slave_SQL_Running为No.
Err文件中记录:
Slave: Error 'Duplicate entry '1' for key 1' on query....
可能是master未向slave同步成功,但slave中已经有了记录。造成的冲突.
可以在A上执行
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
跳过几步。再
restart salve;
6,如果从服务器同步失败show slave status/G出现如下报错:
Last_IO_Error: error connecting to master '用户名@主服务器:3306' - retry-time: 1 retries: 86400
可在MySQL中执行如下命令:
STOP SLAVE;
RESET MASTER;
RESET SLAVE;
SLAVE START;
(责任编辑:admin)
- MYSQL主从复制或双机互备
- MySQL主从复制,双机热备实战
- Mycat+Mysql主从复制实现双机热备
- Mysql主从复制的配置(双机互为主从)
- Mysql主从复制的配置(双机互为主从)
- mysql的主从备份和双机互备实现
- mysql的主从备份和双机互备实现
- MYSQL双机热备、主从热备
- mysql主从备份--双机热备
- Mysql双机热备主从配置
- mysql主从配置(双机热备)
- mysql主从双机热备配置
- mysql主从双机配置
- mysql 双机复制
- MySQL的双机热备份(一)--MySQL的主从复制
- mysql双机互备
- mysql 双机互备
- mysql双机互备
- 提交到新窗口submit-OR-window.open
- 提权
- 限制登录账户触发器
- 图书馆
- 同步、异步、长连接、短连接
- MYSQL主从复制或双机互备
- 承接管理系统开发
- 从无头单链表中删除节点
- BB之"Uncaught exception:net.rim.device.api...."错误的解决之道
- Release 的问题
- 一级关联
- matlab函数randn:产生正态分布的随机数或矩阵的函数
- 我来看看大家!
- 常用的css样式