搭建 mysql 主从数据库
一、主库配置
1、改主数据库配置文件,linux my.cnf windows my.ini
log_bin_trust_function_creators=1 # 最好是配置,允许创建函数存储过程(跟主从没关系)
#lower_case_table_names=1 # 忽略大小写
default-time-zone = '+08:00' # +8 小时
max_connections=5000 # 最大连接数
log-bin=mysql-bin # 主从用的参数 开始 binlog 指定 文件名称
server-id = 120 # 主从用的参数 默认是 1 别重复,一般是 ip 地址最后一位
binlog-ignore-db=information_schema #不开启复制的数据库(mysql 自带的数据库)
binlog-ignore-db=mysql #不开启复制的数据库(mysql 自带的数据库)
binlog-ignore-db=performance_schema #不开启复制的数据库(mysql 自带的数据库)
2、重启主数据库(重启完,测试看看参数有无生效)
show variables like '%log_bin%'; # 看看是否开启,bin_log
show master status; # 查看当前 binlog 最新文件及文件位置
show master logs; # 查看所有的 binlog 文件
# show variables like '%connection%'; #查看之前配置最大连接数的(跟主从无关)
3、创建主从复制的用户
create user 'master'@'%' identified with mysql_native_password by
'Root.zzyx1055';
#赋予权限 授权从库复制的权限给 master 用户
grant replication slave on *.* to 'master'@'%';
#刷新缓存
flush privileges;
二、从库配置
1、修改配置文件
server-id = 112 # 主从用的参数 默认是 1 别重复,一般是 ip 地址最后一位
2、重启数据库
3、show slave status #一般情况下新库下面查询结果是空的
# 建立链接
change master to master_host='192.168.100.120',master_user='master',
master_password='Root.zzyx1055', master_log_file='mysql-
bin.000001',master_log_pos=157;
# 启动 slave
start slave;
# 查看 slave 状态是否启动成功
show slave status\G; ##Last_IO_Error=0,Slave_IO_Running 为
yes,Slave_SQL_Running 为 yes 表示启动成功
mysql 导出导入
主从复制有问题的情况:
主从复制不一致的情况
1、show slave status;
相关文档
评论