Ubuntu/WIN MYQL的主从配置(简)

一. 在主库中操作

   0. 配置my.ini文件

#主库id不能重复
server_id=1

#开启bin-log

log_bin=master-bin

log_bin-index=master-bin.index

#不需要同步的数据

binlog-ignore-db=mysql

binlog-ignore-db=sys

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema


    1. 创建一个用于复制的用户,并授予复制权限 同步Slave

//PS: 'rep_user'@'192.168.11.14' 这里的IP代表slave机的IP
//如果是8.0以上的SQL版本, 要切换密码加密模式-mysql_native_password 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
//创建用户
CREATE USER 'rep_user'@'192.168.11.14' IDENTIFIED BY '123456a';

//授权
GRANT REPLICATION SLAVE ON *.* TO 'rep_user'@'192.168.11.14';

//刷新权限
FLUSH PRIVILEGES;


    2. 查看用户信息及权限

SELECT User, Host, authentication_string, plugin, Grant_priv, Super_priv FROM mysql.user;


    3. 查看权限表

SELECT * FROM information_schema.USER_PRIVILEGES;


    4. 在主服务器上执行以下命令,记录 File 和 Position 的值,这些值将在从服务器上使用:

FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;



    5. 记录 File 和 Position 的值后,解锁表(在最后start slave后才操作)

UNLOCK TABLES;


二. 在从库中操作

    0. 配置从库my.ini文件

#主动库id不能重复

server_id=2

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin


    1. 在my.ini文件中, 填写好相关参数并启动了MYSQL服务后.

change master to master_host='192.168.145.222',master_user='root',master_password='123456',
master_log_file='mysql-bin.000004',master_log_pos=308;   //注意不要断开,308数字前后无单引号。

    2. 启动从服务器复制功能

start slave;

    3. 检查从库的同步状态

show slave status\G;

    4. 状态正常后, 解锁主库的表

UNLOCK TABLES;

    注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

    PS:  如果用NAVICAT工具手动执行, 有可能会导致同步失败, 同步状态以代码方式进行的.


白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论