一、实现MySQL主从复制配置
准备两台服务器
主master:192.168.0.55
从slave : 192.168.0.56
1、主库授权给从数据库服务器
GRANT REPLICATION SLAVE ON *.* to 'slave'@'192.168.0.56' identified by 'abc123456';
FLUSH PRIVILEGES;
2、主库修改配置文件,开启binlog,并设置server-id
vim /etc/my.cnf
//添加以下内容
log_bin=mysql-bin //同步的日志路径及文件名,一定注意这个目录要是mysql有权限写入的
binlog_format=mixed
server-id=50 //master端的ID号;此处的50我使用是IP最后一段,方便记忆
3、重启服务
service mysql start
4、查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复
show master status;
5、配置从库,修改从库配置文件。mysql5.5+版本主从复制不支持配置文件配置变量,需要在从库上用命令来设置。注意,如果之前存在主从复制设置,请先关闭slave。slave stop ;
CHANGE MASTER TO MASTER_HOST='192.168.0.55',MASTER_PORT=3306,MASTER_USER='slave',MASTER_PASSWORD='abc123456',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=120;
6、启动从库slave进程
slave start;
7、查看从库slave状态,如果下面两项值为YES,则表示配置正确
二、同步主库已有数据到从库
1、停止主库的数据更新操作
flush tables with read lock;
2、新开终端,生成主数据库的备份(导出数据库)
mysqldump -u root -p abc123456 test > test.sql
3、将备份文件传到从库
scp test.sql root@192.168.0.56:/root/
4、主库解锁
unlock tables;
5、停止从库slave
slave stop;
6、新建数据库test
create database test default charset utf8;
7、导入数据
mysql -u root -p abc123456 test > test.sql
8、查看从库已有该数据库和数据
show databases;