关于Mysql的安装能够参照个人另外一篇文章:juejin.im/post/5b3d92…mysql
本文介绍的是Mysql的主从备份配置sql
系统:ubuntu16.04 64位
master:192.168.1.222
slave1:192.168.1.223
slave2:192.168.1.224
三台机器都预先装好了mysql,并都建立了测试数据库vingo,测试表test
复制代码
mysql -uroot -p
复制代码
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%' IDENTIFIED BY 'mysql';
mysql>FLUSH PRIVILEGES;
复制代码
vim /etc/my.cnf
server-id = 222 #服务器惟一标识,直接使用IP末尾
log_bin = master-bin #启动二进制日志
log_bin_index = master-bin.index
binlog_do_db = vingo #指定记录二进制日志的数据库
binlog_ignore_db= mysql #指定不记录二进制日志的数据库
复制代码
cd /usr/local/mysql/support-files
./mysql.server restart
复制代码
mysql>show master status;
复制代码
slave1和slave2都要进行以下配置,差异仅是mysql配置中的server-id,slave1是223,slave2是224数据库
vim /etc/my.cnf
server-id = 223
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
复制代码
cd /usr/local/mysql/support-files
./mysql.server restart
复制代码
mysql>change master to master_host='192.168.1.222',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=154;
master_host:master的IP
master_port:master的端口
master_user:步骤一中建立的复制帐号
master_password:复制帐号的密码
master_log_file和master_log_pos:对应步骤一最后查看的master状态值
复制代码
mysql>start slave;
复制代码
mysql>show slave status\G;
复制代码
在master中执行insert into test(name) values('测试是否同步');
去slave1和slave2中查询test表看看是否能查到刚insert的记录,有就证实成功了复制代码