配置主从同步的基本步骤
有很多种配置主从同步的方法,可以总结为如下的步骤:
1在主服务器上,必须开启二进制日志机制和配置一个独立的ID
2在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号
3在开始复制进程前,在主服务器上记录二进制文件的位置信息
4如果在开始复制之前,数据库中已经有数据,就必须先创建一个数据快照(可以使用mysqldump导出数据库,或者直接复制数据文件)
5配置从服务器要连接的主服务器的IP地址和登陆授权,二进制日志文件名和位置
主从备份
-- 主服务器
在主服务器Ubuntu上进行备份,执行命令
mysqldump -uroot -p123456 --all-databases --lock-all-tables > master_db.sql
-- 在从服务器Windows上进行数据还原
mysql -uroot -p123456 < master_db.sql
-u :用户名
-p :示密码
--all-databases :导出所有数据库
--lock-all-tables :执行操作时锁住所有表,防止操作时有数据修改
~/master_db.sql :导出的备份数据(sql文件)位置,可自己指定
找到Windows上mysql命令的位置
配置主服务器master(Ubuntu中的MySQL)
编辑设置mysqld的配置文件,设置log_bin和server-id
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
重启mysql服务
sudo service mysql restart
登入主服务器Ubuntu中的mysql,创建用于从服务器同步数据使用的帐号
mysql –uroot –p123456
GRANTREPLICATIONSLAVEON*.*TO'slave'@'%'identifiedby'slave';
FLUSHPRIVILEGES;
获取主服务器的二进制日志信息
SHOW MASTER STATUS;
File为使用的日志文件名字,Position为使用的文件位置,这两个参数须记下,配置从服务器时会用到
配置从服务器slave(Windows中的MySQL)
找到Windows中MySQL的配置文件
编辑my.ini文件,将server-id修改为2,并保存退出。
打开windows服务管理
可以在开始菜单中输入services.msc找到并运行
重启Windows的mysql
右键重新启动
进入windows的mysql,设置连接到master主服务器
change master to master_host='192.168.60.128', master_user='slave',
master_password='slave',master_log_file='mysql-bin.000003', master_log_pos=154;
master_host:主服务器Ubuntu的ip地址
master_log_file: 前面查询到的主服务器日志文件名
master_log_pos: 前面查询到的主服务器日志文件位置
开启同步,查看同步状态
测试主从同步
在Ubuntu的MySQL中(主服务器)创建一个数据库
在Windows的MySQL中(从服务器)查看新建的数据库是否存在