2)在两台 Slave 上向 Master 同步时间
[root@Slave1 ~]# yum -y install ntpdate
[root@Slave1 ~]# /usr/sbin/ntpdate 192.168.1.1
2)主服务器配置
[root@Master ~]# vim /etc/my.cnf # 修改 MySQL 主配置文件
在 [mysqld] 下面添加:
server-id=1
log-bin=master-bin # 主服务器日志文件
log-slave-updates=true # 从服务器更新二进制文件
[root@Master ~]# /etc/init.d/mysqld restart # 重启 MySQL 数据库
- 注意:如果 MySQL 重启较慢,可以使用
kill
终止掉 MySQL 进程号,再启用。
登陆 MySQL 给从服务器权限
[root@Master ~]# mysql -u root -p123
mysql> grant replication slave on . to ‘myslave’@‘%’ identified by ‘123’;
mysql> flush privileges; # 刷新权限
mysql> show master status; # 查看 Master 状态
3)从服务器配置
两台从服务器操作稍有不同
[root@Slave1 ~]# vim /etc/my.cnf
在 [mysqld] 下添加:
server-id=2 # Slave2 将 2 改为 3 即可
relay-log=relay-log-bin # 将主服务器上同步日志文件记录到本地
relay-log-index=slave-relay-bin.index # 定义 relay-log 的位置和名称
[root@Slave1 ~]# /etc/init.d/mysqld restart # 重启 MySQL 服务
[root@Slave1 ~]# mysql -u root -p123
mysql> change master to
master_host=‘192.168.1.1’,
master_user=‘myslave’,
master_password=‘123’,
master_log_file=‘master-bin.000001’,
master_log_pos=400;
mysql> start slave; # 启用从服务器同步功能
mysql> show slave status\G; # 查看从服务器状态
易错点
当在主 MySQL 开启日志,并在从 MySQL 开启日志后,进行同步时;明明没有报错但还是同步失败
- 原因是从在向主同步时,File 的及 Position 的值给的不对。
解决方案:
- 先关闭 Slave,在重新向主服务器同步一下,将对的值写入即可。
4)验证数据库是否同步
- 在主 MySQL 创建库。
mysql> create database ceshi;
mysql> show databases;
2. 分别在两个从服务器进行查看,同步过来说明主从复制成功。
mysql> show databases;
===================================================&#