Mysql之主从复制

Posted afeige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql之主从复制相关的知识,希望对你有一定的参考价值。

主服务器IP :192.168.153.143

从服务器IP :192.168.153.144

 

配置步骤:

1、确保主数据库与从数据库一模一样

2、在主数据库上创建同步账号。

mysql > GRANT REPLICATION SLAVE,FILE ON *.* TO ‘msuser‘@‘192.168.253.144‘ IDENTIFIED BY ‘123456‘;
mysql > flush  privileges;

    192.168.153.144: 运行使用该用户的IP地址

    msuser:是新创建的用户名

    123456:是新创建的用户名的密码

3、配置主数据库的my.ini(因为是在window下,所以是my.ini不是my.cnf)

   [mysqld]

    server-id=143      //方便区分
    log-bin=msql-bin      //二进制日志文件 msql-bin.xxxxxx

    binlog-format=mixed       //二进制文件格式 row/statement//mixed   

               //row  二进制记录的是磁盘变化  (磁盘变化少)

               //statement 二进制记录执行语句,如insert...(磁盘变化大)
    binlog-do-db=mstest      //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名

    binlog-ignore-db=mysql  //要忽略的数据库

配置完成 重启mysql

4、配置从数据库的my.cnf。

 [mysqld]

    server-id=144

    log-bin=log      //二进制日志文件 mysql-bin.xxxxxx     起备份作用

    relay-log=mysql-relay              //二进制日志文件 mysql-relay.xxxxxx日志

    master-host=192.168.153.143

    master-user=msuser        //第一步创建账号的用户名

    master-password=123456     //第一步创建账号的密码

    master-port=3306
    master-connect-retry=60
    replicate-do-db=mstest        //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
    replicate-ignore-db=mysql  //要忽略的数据库 

配置完成 重启mysql

 

从服务器需要进行跟踪

mysql > change master to

    > master_host = ‘192.168.153.143‘ 
> master_user = ‘msuser‘,
> master_password = ‘123456‘,
> master_log_file=master-bin.000019, //在主服务器中show master status;查看file并替换此处
   > master_log_pos = 352; //
在主服务器中show master status;查看position并替换此处
 

5、启动主从

mysql > start slave;

6、验证是否成功

mysql > show slave status \\G

如果slave_io_running和slave_sql_running都为yes,那么表明可以成功同步了  

技术图片

 

 6、测试同步数据。

    进入主数据库输入命令:

    use city;

    insert into city(name) values(‘beijing‘);

    然后进入从服务器数据库输入命令:select * from city;

    如果此时从数据库有获取到数据,说明同步成功了,主从也就实现了

 

以上是关于Mysql之主从复制的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库在线热备(主从复制之AB复制)

MySQL数据库在线热备(主从复制之AB复制)

MySQL之主从复制

Mysql之取消主从复制

mysql数据库之——主从复制读写分离的实验操作

160525高并发之mysql主从复制(linux)