mysql主从复制的Slave_IO_Running No的处理方法

来源:互联网 发布:淘宝卖家中心界面 编辑:程序博客网 时间:2024/06/05 19:56

master: 192.168.0.4     mysql-5.5.3-m3
    slave:  192.168.0.2     mysql-5.5.20

    先回答上一篇提出的问题:有一部分是myisam类型的表, 有一部分是innodb类型的表, 该如何对master做“快照”呢? 
    其实答案有很多: 
        a) 先锁表, 记录binlog文件和位置信息。 然后用mysqldump --single-transaction和--master-data=1 这两个选项, 把所有要同步的库dump出来就OK 
        b) 先锁表, 记录binlog文件和位置信息。 然后用用系统命令拷贝好数据目录, 另外对于innodb表, 使用mysqldump --single-transaction把这些innodb表单独dump出来就OK , 到slave上也要做相应的两步操作, 详细如下:

    这里假设master/slave上的配置文件以及相关的授权都已经OK。 
    STEP 1. 登录master服务器, 打开两个虚拟终端, 一个在系统命令行用来操作拷贝, 一个用来进入mysql命令行进行锁表操作
        mysql命令行: mysql> FLUSH TABLES WITH READ LOCK;   # 锁表
        mysql命令行: mysql> show master status;            # 查看当前binlog文件名及binlog的位置信息, 并记录下来。 比如 binlog.000049 |  3560393
        系统命令行:  # cd master的数据文件目录
        系统命令行:  # tar cf /www/master.tar.gz db1 db2   # 把数据文件打包到/www/master.tar.gz文件, 这里为了速度, 并没有执行压缩。  在打包的过程中, 在mysql命令行执行show master status; 会发现打印出来的信息一直没改变。
        系统命令行:  # mysqldump -uroot --single-transaction --flush-logs --hex-blob db1 t1 t2 t3 > /www/innodb1.sql   # 这里执行完后, 使用show master status;  会发现新生成了一个新的binlog, 至于为什么, 我也不知道, 问部门的DBA同事 , 说没关系

        
        待上面几步都OK , 再在mysql命令执行解锁操作:
        mysql命令行: mysql> UNLOCK TABLES;                 # 解锁

        在master服务器上的最后操作就是把刚刚打包好的/www/master.tar.gz 及/www/innodb1.sql文件传送到slave服务器上。

    STEP 2. 登录到slave服务器
        系统命令行: # mysqladmin shutdown      # 先把mysql停掉
        系统命令行: # tar xf master.tar.gz -C mysql的数据目录      # 把master上的数据文件解压到slave上的数据目录
        系统命令行: # mysqld_safe &            # 启动mysql
        mysql命令行:mysql> slave stop;         # 停掉同步
        系统命令行: # mysql -uroot db1 < ./innodb1.sql
        mysql命令行:mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.4', MASTER_PORT=3306, MASTER_USER='slave',MASTER_PASSWORD='slave@123',master_log_file='binlog.000049',master_log_pos=3560393;
        mysql命令行:mysql> slave start;        # 开启同步
        mysql命令行:mysql> show slave status\G
    发现各项信息都比较正常

    
    不过过了一段, 又出现错误信息:
        Last_Errno: 1690
        Last_Error: Error 'BIGINT values is out of range in....'

 

20788470_1335109902UZtE.jpg
    
    最后在网上搜了下, 发现原来是因为slave的版本跟master的版本不一直导致, 把slave的版本更换成master一致的版本就OK 。
    


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 比值审敛法中p=1怎么办 电脑被老友重装系统搞坏了怎么办 vivo手机听筒声音小怎么办 小孩调皮幼儿园不收怎么办 小孩听力残疾幼儿园不收怎么办 幼儿园不收外省小孩怎么办 孩子刚上幼儿园哭闹老师怎么办 孕妇糖耐指标高怎么办 貂蝉经常没蓝怎么办 儿童声导抗c型怎么办 酱牛肉不烂怎么办拯救 卤牛肉一切就碎怎么办 牛肉煮的太烂了怎么办 牛肉卤的太烂怎么办 牛肉炖得太软怎么办 牛肉炖的很硬怎么办 牛肉做的有点硬怎么办 牛肉做老了还能怎么办 牛肉粒 炒老了怎么办 牛肉炖出来很硬怎么办 煮的牛肉太硬怎么办 在产蛋鸡体重偏轻怎么办 产蛋鸡不上高峰怎么办 蛋鸡天热下蛋少怎么办 成年鸡嗉子鼓涨怎么办 黄牛拼失败了钱怎么办 磁力泥粘衣服上怎么办 鼻涕泥弄衣服上怎么办 水晶橡皮泥弄在衣服上怎么办 橡皮泥弄到衣服上怎么办 橡皮泥弄在衣服上怎么办 磁力泥弄衣服上怎么办 苹果7p按键坏了怎么办 苹果手机内存满了怎么办 来微信消息手机上面没提示怎么办 苹果手机储存空间满了怎么办 苹果六储存满了怎么办视频 微信听筒没声音怎么办 苹果手机有电自动关机怎么办 白玉蜗牛生蛋了怎么办 农民工工资拖欠怎么办没有合同