mysql主从复制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql主从复制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4854字,纯文字阅读大概需要7分钟。
内容图文
![mysql主从复制](/upload/InfoBanner/zyjiaocheng/466/2f928ce212444588a89ad80cf33b2a19.jpg)
2.主从同步的条件:
①server-id不同
②主库开启bin-log日志,从库开不开不影响
③主库建立同步的账号
④锁表,查看binlog文件以及位置点
⑤新开窗口导出全备份
⑥主库解锁,开放用户写入
从库:
①从库操作,把主库的全备份导入从库
②找位置点,配置master.info
③开启从库开关
3.环境说明:三个数据库服务器部署在一台服务器上的多实例
[root@oldboy scripts]# netstat -lntup|grep 330
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 26656/mysqld
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 21801/mysqld
tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 11749/mysqld
[root@oldboy scripts]#
4.登录数据库并授权用户(binlog日志检查是否开启/data/3306/my.cnf)
[root@oldboy ~]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock
mysql> grant replication slave on *.* to rep@‘172.16.1.%‘ identified by ‘oldboy123‘;
mysql> flush privileges;
5.锁表查看binlog日志的位置
mysql> flush table with read lock; #锁表的时候不能退出
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000020 | 6162 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
mysql>
6.全量备份数据库(切记要新开一个ssh窗口,锁表不可以退出)
[root@oldboy ~]# mysqldump -uroot -poldboy123 -S /data/3306/mysql.sock -A -B -R --events --master-data=2|gzip >/server/backup/rep_bak_$(date +%F).sql.gz
[root@oldboy ~]# ll /server/backup/rep_bak_$(date +%F).sql.gz
-rw-r--r-- 1 root root 152180 6月 23 17:32 /server/backup/rep_bak_2016-06-23.sql.gz
[root@oldboy ~]#
7.主库解锁,开发用户写入
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)
mysql>
8.从库导入主库的全备份数据
[root@oldboy ~]# cd /server/backup/
[root@oldboy backup]# gzip -cd rep_bak_2016-06-23.sql.gz>rep_bak_2016-06-23.sql
[root@oldboy backup]# mysql -uroot -poldboy123 -S /data/3307/mysql.sock <rep_bak_2016-06-23.sql
9.找位置点,配置master.info
mysql -uroot -poldboy123 -S /data/3307/mysql.sock
CHANGE MASTER TO
MASTER_HOST=‘172.16.1.52‘,
MASTER_PORT=3306,
MASTER_USER=‘rep‘,
MASTER_PASSWORD=‘oldboy123‘,
MASTER_LOG_FILE=‘mysql-bin.000020‘,
MASTER_LOG_POS=6162;
[root@oldboy data]# cat /data/3307/data/master.info #检查
10.开启从库开关
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
mysql>
11.从库检查状态,是否正常
mysql> show slave status \G
Slave_IO_Running: Yes #出现这两个表示正常
Slave_SQL_Running: Yes #出现这两个表示正常读取多个文件并追加到一个文件
Seconds_Behind_Master: 0 #没有延迟
11.错误整理:
show slave status \G ;出现如下错误,
一般情况下 对于error错误就这么办
解决办法
stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start salve;
12.如果是想重新change master
如果是想重新 change master
步骤
①stop slave
②reset slave all
③change master
④start slave
13.快速部署主从复制
授权要在主服务器上做:
①直接锁表备份数据
mysqldump -uroot -poldboy123 -S /data/3306/mysql.sock -x -A -B -R --events --master-data=2|gzip >/server/backup/rep_bak_$(date +%F).sql.gz
②解压全量备份数据
gzip -cd rep_bak_2016-06-25.sql.gz>rep_bak_2016-06-25.sql
③找出binlog日志的位置点
vim rep_bak_2016-06-25.sql
CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000021‘, MASTER_LOG_POS=396;
④恢复全备份数
mysql -uroot -poldboy123 -S /data/3307/mysql.sock < rep_bak_2016-06-25.sql
⑤登录数据库
mysql -uroot -poldboy123 -S /data/3307/mysql.sock
⑥第一次change master
CHANGE MASTER TO
MASTER_HOST=‘172.16.1.52‘,
MASTER_PORT=3306,
MASTER_USER=‘rep‘,
MASTER_PASSWORD=‘oldboy123‘;
⑦第二次change master #在全备份中取出
CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000021‘, MASTER_LOG_POS=396;
⑧开启slave
start slave
14数据库的线程介绍
15主从不同步解决思路
从库:
mysql> create database testskip;
主库:
mysql> create database testskip;
从库:
mysql> show slave status \G
Last_SQL_Error: Error ‘Can‘t create database ‘testskip‘; database exists‘ on query. Default database: ‘testskip‘. Query: ‘create database testskip‘
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)
处理:
从库:
mysql> set global sql_slave_skip_counter=1;
mysql> show slave status \G #故障解决
本文出自 “小小三郎的博客” 博客,请务必保留此出处http://wsxxsl.blog.51cto.com/9085838/1792814
mysql主从复制
标签:服务器 mysql 数据库 影响 开关
本文系统来源:http://wsxxsl.blog.51cto.com/9085838/1792814
内容总结
以上是互联网集市为您收集整理的mysql主从复制全部内容,希望文章能够帮你解决mysql主从复制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。