Mysql配置主从同步和常规错误处理

一:Mysql主从同步配置:

1.版本问题:

mysql3.2以后才支持同步        

MySQL5.6以后跟以前版本做相关配置不同,5.6以后的像master_host等配置不能再写在配置文件里

2.测试:同一台电脑装两个mysql服务

OS:win10

数据库版本:MySQL5.6解压版

<1>.解压后放在C:\mysql下,(这里注意所选目录的首字母不要是常见的\t,\n之类的转义符)分别命名为mysql3307,mysql3308(mysql+端口号)

查看端口号是否被占用:

<2>修改配置文件:basedir = C:\mysql\mysql3307

                               datadir = C:\mysql\mysql3307\data

                               port = 3307

                               server_id = 1

<3>增加mysql3307服务:使用管理员权限的命令提示符,切到mysql3307的bin目录下,执行mysqld install mysql3307 --defaults-file=”C:\mysql\mysql3307\my-default.ini”安装服务成功

<4>启动mysql3307服务:net start mysql3307

注:若启动失败,启动失败的原因:<1>端口号被占用;

                                                        <2>执行安装命令时所用的目路路径被转义,也就是目录有/t,/n等转义字符

<4>同样安装mysql3308服务,配置文件:basedir = C:\mysql\mysql3308

                                                                   datadir = C:\mysql\mysql3308\data

                                                                    port = 3308

                                                                    server_id = 2

<5>安装成功并能启动即可

2.配置数据库的相互备份:

<1>增加一个用户账号作为数据库的同步账号:

Mysql3307:

mysql> Grant replication slave on *.* to backup@’localhost’ identified by ‘1234’;

Mysql3308:

mysql> Grant replication slave on *.* to backup@’localhost’ identified by ‘1234’;

注:<1>Grant 权限 on *.* to 用户账号@’允许访问的ip’ identified by ‘用户密码’;这里3307允许访问的ip即3308的ip,即对方库的ip

       <2>4.0.2以前版本不支持replication slave,要改成file,即 mysql> Grant file on *.* to backup@’localhost’ identified by ‘1234’;

<2>增加一个需要同步的测试库:

   create database news;

<3>配置主从:mysql3307作为主机,mysql3308作为从机

      配置主机:

                     Mysql3307的配置文件: log-bin = backuplog    #设置日志文件的名称binlog-do-db = news   #制定需要日志的数据库

                     重启mysql3307服务,show mster status;查看日志情况

       配置从机:(测试mysql版本是5.6,所以master_host相关配置不能写在配置里)

  CHANGE MASTER TO

          MASTER_HOST='localhost',          master ip

          MASTER_USER='backup',            

          MASTER_PASSWORD=’1234',         

          MASTER_LOG_FILE='backuplog.实际情况', (@master show master status \G)

          MASTER_LOG_POS=实际pos;

查看从机状态:start slave

                          Show slave status

注意slave_io_running和对应值是不是yes,如果是说明配置成功,查看同步结果。

注:在生产中,如果遇到断电等情况使服务器停止工作需要主从同步时。需要看哪个服务器 出现同步出错,找到错误信息。一般都是状态里的slave_io_running或者slave_sql_running 值为no。

<1>若slave_io_running=no:查看从机的错误日志定位log位置找到下一个log的位置然后接上,操作过程是关闭slave->更改pos值->重启slave

<2>若slave_sql_running=no:stop slave->set GLOBAL sql_slave_skip_counter =1->start slave;

若要重新从主机做备份数据:先断开主从连接--从机stop slave

mysqldump --master-data=2(/1) -u root -p databases>databases.sql 都等于1不用手工调整

Mysql -u root -p databases<xxx.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值