首页 > 代码库 > mysql主从同步

mysql主从同步

1、  主数据库操作

(1)       配置my.cnf文件

Vi /etc/my.cnf

[mysqld]中添加:

server-id=1               //数据库ID,主库默认1,其他从库递增,不能重复,否则同步出错;

log-bin                  //二进制日志文件,必填

binlog-do-db=antic        //需要同步的数据库1

binlog-do-db=delieato     //需要同步的数据库2

binlog-ignore-db=mysql    //不需要同步的数据库

                改完配置文件后须重启(service mysqld restart),若重启失败,则是配置文件有错;

(2)       建立同步用的数据库帐号

mysql命令行中

mysql>grantreplication slave on *.* to ‘antic’@’121.41.115.166’identified by ‘123456’;

‘antic’:同步用的帐号;

‘121.41.115.166;同步的数据库地址;

‘123456’:密码;

(3)       显示主库信息

mysql>showmaster status;

技术分享


看到上述信息则表示主库建立成功。

2、  从库配置

1)、备份数据库(如果主库也为新建库,无需此操作)

      备份数据库可用第三方工具(如navicat),也可用脚本

      比如要将abc这个数据库导出为一个文件名为db_abc.sql的数据库文件到当前目录下,则输入下面的命令:

#mysqldump -uroot -p abc > db_abc.sql

输入密码即可

导入.sql文件

要先登录数据库新建数据库名并使用

然后

# mysql -u root -p a </var/www/html/a.sql

或者直接在mysql命令行里

source /var/www/html/a.sql(同样要先使用a数据库)

 2)、配置

       Vi /etc/my.cnf

  Server-id = 2 #这里ID改为2 因为主库为1;

log-bin    必填项,用于数据同步;

master-host =115.28.245.30主库IP;

master-user = test 同步用的账户;

master-password = 123456 同步账户密码,主库时的设置

 3)、重启数据库,显示从服务器状态

         mysql>show slave status\G;  显示如图:

技术分享

如果slave_io_runningslave_sql_running都为yes则表示从服务器配置成功,此时也可以在主服务器上添加数据进行测试。


mysql主从同步