DayDayUP_Linux运维学习_MySQL 主从配置
来源:互联网 发布:k近邻算法流程图 编辑:程序博客网 时间:2024/05/02 01:01
1 环境介绍
系统:CentOS6.5
mysql:MySQL5.6.27
ip
主:192.168.1.110 master
从:192.168.1.11 slave
mysql5.6.27的安装见:
http://blog.csdn.net/erujo/article/details/48949103
2 把MySQL主服务器上的wlzh库备份到MySQL从服务器上
master
# mysqldump -u root -p wlzh > ~/wlzh.sql# scp wlzh.sql root@192.168.1.11:/root/
slave
# mysql -u root -p discuz < wlzh.sql
3 配置主服务器上的my.cnf
# vim /etc/my.cnfserver_id=1 #必须 binlog-do-db=wlzh #允许主从复制的库#binlog-ignore-db=test #不记录binlogreplicate-ignore-db=test #不复制test库的binloglog-bin=wlzh-bin #必须binlog_cache_size = 1Mbinlog_format=mixedexpire_logs_days=3# service mysqld restart# mysql -uroot -pmysql>grant replication slave on *.* to 'slave'@'192.168.1.11' identified by '123456';mysql>flush tables with read lock;mysql>show master status;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| wlzh-bin.000001 | 1281 | wlzh | | |+------------------+----------+--------------+------------------+-------------------+
4 修改slave配置文件并重启服务
首先测试从服务器能否访问主上的MySQL
# mysql -h192.168.1.110 -uslave -p123456
如果无法访问,请测试两主机是否联通,如果能ping通,请检查密码和自己的输入,再无法解决请关闭防火墙后尝试,仍旧无法请问度娘
# iptables -F //关闭防火墙
# vim /etc/my.cnfserver_id=2 #只要不与主的相同,且大于主即可binlog-do-db = wlzh # 允许的库binlog-ignore-db=test #不记录binlogreplicate-ignore-db=test #不复制test库的binloglog-bin=wlzh-binbinlog_cache_size = 1Mbinlog_format=mixedexpire_logs_days=3# service mysqld restart# mysql -uroot -pmysql>stop slave; //5.6之前为slave stop/start;mysql>change master to master_host='192.168.1.110', master_port=3306, master_user='slave', master_password='123456', master_log_file='wlzh_log.000001', master_log_pos=1281;#master_user是我们在master上创建的赋予replication slave权限的账户#master_port为默认端口3306时可不用指定#master_log_file和master_log_pos就是在master上show出来的master的状态信息mysql>start slave;
5 查看是否成功
在从上执行
mysql> show slave status \G;
看能否看到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
6 常见错误处理
6.1 master and slave have equal MySQL server UUIDs
虚拟机是在mysql安装好以后克隆的,所以在mysql的数据目录下的auto.cnf文件中的uuid一样,所以导致错误
解决方法:删除slave数据目录的auto.cnf,重启mysql服务会自动生成新的auto.cnf,uuid也会变化。
6.2 ERROR 1198 (HY000): This operation cannot be performed with a running slave; run STOP SLAVE first
解决办法:打开my.cnf里的log-bin,并设置
6.3 Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the –replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
解决办法:修改从上的server_id,使其大于主上的server_id,并重启MySQL
6.4 Slave_IO_Running: No
将其理解为逻辑错误,应该是由于master意外掉电,重新启动时自动flush了binlog,而slave并未获取到这个信息导致,因此解决该问题也比较简单,直接重置同步的master位置应该就可以
解决办法:
master:mysql> show master status;slave:mysql>stop slave;slave:mysql>change master to master_host='192.168.1.110', master_port=3306, master_user='slave', master_password='123456', master_log_file='wlzh_log.000001', master_log_pos=1281;slave:mysql>start slave;
- DayDayUP_Linux运维学习_MySQL 主从配置
- DayDayUP_Linux运维学习_mysql安装(源码编译安装)
- DayDayUP_Linux运维学习_MySQL 5.6.27 源码编译安装
- ]DayDayUP_Linux运维学习_CentOS普通用户配置root权限
- DayDayUP_Linux运维学习_sqlite3安装
- DayDayUP_Linux运维学习_LAMP的安装
- DayDayUP_Linux运维学习_ftp安装使用
- DayDayUP_Linux运维学习_cobbler安装教程
- DayDayUP_Linux运维学习_oracle11g安装教程
- DayDayUP_linux运维学习_lrzsz安装过程
- DayDayUP_Linux运维学习_Jsp 相关环境的搭建
- DayDayUP_Linux运维学习_VMware克隆后找不到eth0
- DayDayUP_Linux运维学习_c.vim插件安装和使用
- DayDayUP_Linux运维学习_查看linux的版本信息
- DayDayUP_Linux运维学习_交叉编译环境的搭建
- DayDayUP_Linux运维学习_Windowns下的端口查询
- DayDayUP_Linux运维学习_linux下安装gcc环境
- DayDayUP_Linux运维学习_SSH 免密码登陆设置
- Leetcode || Add Two Numbers
- linux命令-rmdir
- 厦门大学线下编程比赛第一题:求和
- Beaglebone Black 断网后重新连接问题
- php判断日期时间
- DayDayUP_Linux运维学习_MySQL 主从配置
- 如何提高支付宝芝麻信用的分数
- 九度OJ 1014:排名 (排序)
- UITextField 弹出键盘时遮盖住textField的问题
- Java学习——JSTL标签与EL表达式之间的微妙关系
- Java笔试笔记
- python问题
- Android:Fragment实现带导航条的页面左右切换
- Android混淆那些事儿