1.登录数据库
mysql -h 127.0.0.1 -u root -p
2.主MySQL添加授权账号和ip
CREATE USER '授权账号'@'链接授权ip链接' IDENTIFIED BY '密码';
GRANT REPLICATION SLAVE ON *.* TO '授权账号'@'链接授权ip链接';
3.从mysql 设置同步主mysql
CHANGE MASTER TO
MASTER_HOST='主mysql ip',
MASTER_USER='上面设置的账号',
MASTER_PASSWORD='上面设置的密码',
MASTER_LOG_FILE='mysql-bin.00014',
MASTER_LOG_POS=107;
// MASTER_LOG_FILE 这个是设置主mysql 日记记录名 show master logs;查看
//MASTER_LOG_POS 这个是主mysql 日记记录位置 show master logs;查看
3.启动同步 查看
START SLAVE; #开始同步
4.查看同步信息
show slave status;# 查看同步状态
show slave status\G;# 查看同步进程是否有问题一个是slave_sql_running,一个是slave_io_running 都是yes才算 成功
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE; ##设置counter为1,启动同步
reset slave;
show master logs;#查看主日记
show master status; #查看主当前记录日记
5.如果看见没有同步 看看从mysql 上的同步日记 是否和主mysql 一致 不一致 下面命令设置
change master to Master_Log_File='mysql-bin.000027',Master_Log_Pos=107;#设置当前主记录
6.可以指定同步数据库
GRANT ALL PRIVILEGES ON *.* TO '数据库名称'@'对应数据库ip' IDENTIFIED BY '数据密码' WITH GRANT OPTION; //提权
flush privileges; //刷新当前同步日记文件
7.
主服务器上的数据库 需要和从服务器数据库一致 不然同步会出现 从服务器没有的数据库 报错
8 设置指定同步数据库
-- 主mysql 设置my.ini
#server-id=1 #服务器id
log-bin-index=mysql-bin.index
sync_binlog=1
#给从机同步的库,可以多个
binlog-do-db=tp #从库的数据库名称
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
-- 从mysql 设置 my.ini
erver-id=2 #服务器id
#要从主机同步的库
replicate-do-db=tp #主库的数据库名