MySQL 主从服务器配置

在主服务器Ubuntu上进行备份,执行命令:

mysqldump -uroot -p --all-databases --lock-all-tables > ~/master_db.sql
-u :用户名
-p :示密码
--all-databases :导出所有数据库
--lock-all-tables :执行操作时锁住所有表,防止操作时有数据修改
~/master_db.sql :导出的备份数据(sql文件)位置,可自己指定

修改主服务器配置
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将一下两项注释去掉即可
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log

重启
sudo service mysql restart

登入主服务器Ubuntu中的mysql,创建用于从服务器同步数据使用的帐号
mysql –uroot –p

创建
GRANT REPLICATION SLAVE ON . TO 'slave'@'%' identified by 'slave';
更新
FLUSH PRIVILEGES;
获取主服务器的二进制日志信息
SHOW MASTER STATUS;

File为使用的日志文件名字,Position为使用的文件位置,这两个参数须记下,配置从服务器时会用到

将备份sql 文件上传到从服务器
在从服务器执行还原

mysql –uroot –p < master_db.sql

修改从服务器配置
从服务器 Ubuntu配置 路径
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

server-id = 2

从服务器windows 配置 (Windows版本win7及以上) 路径
c:/programdata/MySQL/mysql server 5.7/my.ini
server-id = 2

Windows + r 键 运行 services.msc
服务管理中找到服务MySQL57,并重启该服务

进入windows的mysql,设置连接到master主服务器
change master to master_host='192.168.1.110', master_user='slave', master_password='slave',master_log_file='mysql-bin.000006', master_log_pos=590;
将以上三项替换
master_host='192.168.1.110' 替换主服务器上的IP地址
master_log_file='mysql-bin.000006' 替换主服务器上的FilePosition为使用的文件位置
master_log_pos=590 替换主服务器上的Position

在从服务器mysql里开启同步,查看同步状态
start slave;
查看
show slave status G;
在显示的结果里
Slave-IO-Running:YES
Slave-SQL-Running:YES
者配置成功
可测试 在主服务器里新建一个数据库 在从服务器里能看到 ok

原文地址:https://www.cnblogs.com/WhiteCoder/p/9949955.html