Home >Database >Mysql Tutorial >mysql 主从暖备(在主从数据不一致情况下)

mysql 主从暖备(在主从数据不一致情况下)

WBOY
WBOYOriginal
2016-06-07 16:15:34997browse

mysql 主从热备(在主从数据不一致情况下) 1.grant slave 都没有;'严重错误' GRANT REPLICATION SLAVE ON *.* TO slave@'172.16.8.%' IDENTIFIED BY '********88'; 2.锁住表,进行备份;'一定要仔细' flush tables with read lock; 3.本地备份: /mysqldum

mysql 主从热备(在主从数据不一致情况下)


1.grant slave 都没有;'严重错误'
GRANT REPLICATION SLAVE ON *.* TO slave@'172.16.8.%' IDENTIFIED BY '********88';


2.锁住表,进行备份;'一定要仔细'

>flush tables with read lock;

3.本地备份:
/mysqldump -uroot -proot  --all-databases >/data/backup-all.sql

4.记录master 状态:

>show master status\G;
mysql> show master status;
+------------------+----------+----------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB   | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+----------------+------------------+-------------------+
| mysql-bin.000011 |  2253254 | juxinli_credit | mysql   

5.解除锁定;
> unlock tables;


6.将本地备份文件传递给从机;
scp backup-all.sql ubuntu@172.16.8.92:/home/ubuntu/



7.从机恢复数据库
./mysql -uroot -p

8.从机mysql 设置
>change master to master_host='172.16.56.82',master_user='slave',master_password='*****88',master_port=3306,master_log_file='mysql-bin.000011',master_log_pos=2253254;


9.启动slave;
START SLAVE;

10.检查slave 启动状态
>show slave status\G;

报错问题诊断:
1.一定要仔细,特别第8步,master_log_file 是否正确

2.通过show slave status 确定问题原因

3,查看error.log(默认在数据库data目录下) 是很有帮助的,能够准确锁定问题原因,针对报错信息一步步修改

附上:
master 的my.cnf:
#----------------------------------------------------------
server-id=11
#log_bin=/data/mysql/mysql-bin
binlog_do_db=juxinli_credit
binlog_ignore_db=mysql
#复制的模式
#binlog_format="STATEMENT"
#binlog_format="ROW"
binlog_format="MIXED"

#----------------------------------------------------------
#结束 配置双机热备
#max_connections=16384
#日志文件配置:


#配置二进制日志文件
log_bin=/data/mysql/mysql-bin.log

#配置普通日志文件
general_log=on
general_log_file =/var/log/mysql/mysql.log

#配置错误输出日志文件/更改默认data 目录
log-error=/var/log/mysql/mysql-error.log

#配置慢查询日志文件
#slow_query_log=on??
#slow_query_log_file=/var/log/mysql/slow-query.log





slave 的my.cnf:

#1.表示打开日志;
#general_log =1

server-id=13
replicate-do-db=juxinli_credit
replicate-ignore-db=mysql
#slave-skip-erros=1062
binlog_format="MIXED"


#配置从服务器二进制日志文件
relay-log=/var/log/mysql/mysql-slave-relay-bin.log
relay-log-index=/var/log/mysql/mysql-relay-log-bin.index
(如果修改了目录,还要删除默认data 目录下的相关relay-bin.log)再重启mysql

#配置普通日志文件
general_log=on
general_log_file =/var/log/mysql/mysql.log

#配置错误输出日志文件
log-error=/var/log/mysql/mysql-error.log

#配置慢查询日志文件
slow_query_log=on??
slow_query_log_file=/var/log/mysql/slow-query.log

====================================希望对你有所帮助=====================
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn