mysql主从配置

前提:数据库版本一致,安装方式一致,导入的数据一致;

主库相关操作:

1.主库中创建同步帐号
CREATE USER 'root'@'%' IDENTIFIED BY 'xxxxxx'; #root用户跳过

2:同步帐号赋予权限
GRANT REPLICATION SLAVE ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxx';

3:使用户生效
FLUSH PRIVILEGES;

4,主数据库修改配置文件my.cnf

在[mysqld] 下增加以下属性

log-bin = mysql-bin

server-id = 1

binlog-do-db = db_name

innodb_flush_log_at_trx_commit=1

sync_binlog=1

#binlog-do-db=wordpress 同步的db
#binlog_ignore_db=mysql 忽略的db
  

5:重启主数据库服务
service mysql restart 

6:查看master状态信息
命令:show master status;

看到状态后在主执行SET GLOBAL log_bin_trust_function_creators = 1;(仅在主数据库上执行)

 

从数据库操作:

1:执行设置从库密码:
SET PASSWORD = PASSWORD('xxxxxx');
FLUSH PRIVILEGES;

2:主数据库修改配置文件my.cnf
在[mysqld] 下增加以下属性
#主库配置开始#
server-id=2
#主库配置结束#

3:配置完毕后重新启动My'SQL服务
service mysql restart 

4:从库中执行root账户登陆,执行如下命令,使slave指向master
change master to master_host='10.162.27.97',master_port=3306,master_user='root',master_password='xxxxxx',master_log_file='mysql-bin.000001',master_log_pos=120;

注意:
远程 ip mysql -uroot -p -h IP
master_host=’为主库IP’
master_port=’主库端口’
master_user=’同步帐号’
master_password=’同位帐号密码’
master_log_file=’show master status中的File列取值’
master_log_post=’show master status中的Position列取值’

5:从库中执行检查slave状态

show slave status\G;

start slave;(重启slave命令:stop slave;停止start slave;开启)

如果看到双yes就证明同步状态ok

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34249367/article/details/92847578