1.需要注意的是两台linux的时间相同,MySQL版本相等。
主从复制是单向的,只能主服务器MySQL向从服务器MySQL复制
主服务器IP 49.233.122.124
从服务器IP 106.75.24.119
2.配置实施(主服务器master)
修改mysql配置
找到主数据库的配置文件my.cnf(或者my.ini),在[mysqld]部分插入如下两行
log-bin=mysql-bin //开启二进制日志
server-id=124 //设置server-id(一般设置为主机ip的后三位)
保存,并重启mysql
service mysqld restart//重启mysql
进入MySQL命令行,创建MySQL用户并授权
用户名:yinzheng 密码 :yinzheng@123 (你们自定义哈)
@后写的是从服务器的IP
create user 'yinzheng'@'106.75.24.119' IDENTIFIED BY 'yinzheng@123';
授予复制的权限
GRANT REPLICATION SLAVE ON *.* TO 'yinzheng'@'106.75.24.119';
刷新权限
FLUSH PRIVILEGES;
查看master状态,记录二进制文件名和位置
SHOW MASTER STATUS;
3.配置实施(从服务器slave)
同样修改mysql配置,找到主数据库的配置文件my.cnf(或者my.ini),在[mysqld]部分插入
server-id=119 //设置server-id(一般设置为主机ip的后三位)
重启mysql服务
service mysqld restart
进入MySQL命令行执行同步语句
执行同步SQL语句(需要主服务器主机IP,登陆凭据,二进制文件的名称和位置):
CHANGE MASTER TO
MASTER_HOST='49.233.122.124',
MASTER_USER='yinzheng',
MASTER_PASSWORD='yinzheng@123',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=522;
在MySQL命令行执行以下命令启动slave同步进程
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 = game