1.同步主服务器的数据到从服务
为从服务器创建同步账号
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO'repl'@'192.168.127.%'
IDENTIFIED BY 'repl';
说明:%是通配符,表示192.168.127.0-192.168.127.255的Server都可以以repl用户名,以
repl密码登录到主服务器
停止主服务器mysql服务
service mysqld stop
在主服务器上导出要到同步到从服务器的数据库
命令格式:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
例如:
mysqldump -u root -p test >/root/test.sql
拷贝test.sql文件到从服务器
scp /root/test.sql root@server2:/root
从服务器加载数据
首先创建数据库后执行加载数据操作:
mysql> create database test;
mysql> source /root/test.sql;
2. 备份主从服务器/etc/my.cnf文件
cp /etc/my.cnf /etc/my.cnf.bak
3. 修改主服务器/etc/my.cnf文件。
在[mysqld]节点下添加:
server-id=1 #说明:server-id必须为唯一值,不能和从服务器相同
log_bin=mysql-bin #启动MySQ二进制日志系统
4. 修改从服务器/etc/my.cnf文件
在[mysqld]节点下添加:
server-id=2
replicate_wild_do_table=test4.%
#说明test.%代表要同步test数据库下所有的表,如果要同步多个数据库再添加一行replicate_wild_do_table参数,如果不指定此参数代表同步所有数据库。
5. 启动从数据库
service mysqld start;
6. 在从服务器上配置要同步的主服务器的参数
mysql> CHANGE MASTER TOMASTER_HOST='192.168.127.147',
mysql> MASTER_USER='repl',MASTER_PASSWORD='repl',
mysql> MASTER_LOG_FILE='mysql-bin.000001',
msyql> MASTER_LOG_POS=0;
说明:MASTER_HOST主服务器ip地址,MASTER_USER用户名,MASTER_PASSWORD密码,MASTER_LOG_FILE日志文件,MASTER_LOG_POS要从文件哪个位置记录的信息开始同步。
7. 从服务器启动slave模式
mysql> start slave;
8. 启动主服务器mysql服务
service mysqldstart
9. 在从服务上查看SLAVE状态
mysql> show slave status;
10.验证数据库是否可以同步,数据是否一致。