首页 > 代码库 > 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_running和slave_sql_running都为yes则表示从服务器配置成功,此时也可以在主服务器上添加数据进行测试。
mysql主从同步