1. 服务器两台:master 主服务器 (192.168.234.176)和slave 从服务器(192.168.234.177);
2. 两台服务器都安装mysql服务,根据需求安装不同版本mysql,为了快速实现推荐使用:yum install -y mariadb*;
3. 安装好mysql服务后修改其相关配置,由于yum安装,msyql此时无密码,可以根据需求添加,此处仅为测试使用,故未添加密码;
4. 由于使用yum安装,my.cnf位置在/etc/my.cnf,进入其文件,添加相关语句,主从服务器的server-id不同且唯一,一般从服务器比主服务器数值大
4.1)主服务器:
在my.cnf 里添加[mysqld]模块下添加下面两句
server-id=1
log-bin=mysql-bin
4.2)从服务器:
操作与主服务器一样,修改server-id=2
5. 修改完配置后,启动mysql服务,systemctl start mariadb(centos7),/etc/init.d/mariadb start(centos6)
6. 主从服务器授权及启用
6.1)进入msyql后,创建用户,随后给用户分配权限:
mysql>create user 'repl'@'192.168.234.177' identified by '123456';
mysql>grant replication slave on *.* to 'repl'@'192.168.234.177' ;
mysql>flush privileges;
mysql> show master status;
6.2) 进入mysql后,执行同步sql语句:
mysql> change master to
->master_host='192.168.234.176',
->master_user='repl',
->master_password='123456',
->master_log_file='mysql-bin.000003',
->master_log_pos=73;
启动同步:
start slave;
查看slave状态:
show slave status \G;
当slave_io_running和slave_sql_running 都为yes才表示同步设置成功。
通过修改主服务器上相关数据表来进行验证是否成功实现主从同步。
master开启二进制日志后默认记录所有库所有表的操作,可以通过配置来指定只记录指定的数据库甚至指定的表的操作,具体在mysql配置文件的[mysqld]可添加修改如下选项:
# 不同步哪些数据库 binlog-ignore-db = mysql binlog-ignore-db = test binlog-ignore-db = information_schema # 只同步哪些数据库,除此之外,其他不同步 binlog-do-db = user