ASCII码 ASCII码

MYSQL主从配置

发布于:2022-05-11 15:55:59  栏目:技术文档

注:两天服务器mysql版本最好一致

主库操作

1、进入mysql配置文件 my.cnf或者my.ini

[mysqld]下

2、开启bin-log日志

log-bin=mysql-bin

binlog_format=mixed

expire_logs_days = 7 日志存储天数

binlog-do-db=tajy 日志允许的数据库

binlog-ignore-db=mysql,infomation_schema,performance_schema,tajy_qianzhi 日志拒绝的数据库

binlog-do-db=base 仅同步数据库

3、设置服务id

server-id = 98

4、登录mysql mysql -u root -p密码

5、创建slave账号 从库使用

创建账号,设置账号权限

create user 'kangsai'@'%' identified by 'kangsai@123'; 创建账号

grant all privileges on tajy.* to kangsai@"%" identified by 'kangsai@123'; 指定数据库权限

GRANT REPLICATION SLAVE ON *.* TO 'slave账号'@'slave服务器ip'; //允许从库拉取日志

6、刷新账号权限,重启mysql服务

flush privileges;

7、主库锁住,锁住日志无法新增

flush tables with read lock;

8、主库解除锁定

unlocktables

9、查看主库状态 锁住时记住File和Position

show master status \G;

333.png

从库操作

1、进入mysql配置文件 my.cnf或者my.ini

2、设置服务id

server-id = 99

3、设置同步的库

replicate-do-db=tajy //同步的库

replicate-do-table=base.user //同步的表

slave-skip-errors=all //跳过所有同步错误

4、数据库重启

5、配置主从 mysql -u root -p密码 登录数据库

CHANGE MASTER TO

MASTER_HOST='10.102.184.98',//主数据库ip

MASTER_USER='slave99', //主数据库账号

MASTER_PASSWORD='slave99',//密码

MASTER_LOG_FILE='mysql-bin.000001',//从哪个日志开始同步 主库操作步骤9的File

MASTER_LOG_POS=1; //从日志的某个节点开始同步 主库步骤9 的Position

6、开启主从同步 进入mysql运行

start slave; //开启主从

7、 查看主从状态 这两个值Yes,主从配置成功

show slave status\G;

555.png

8、停止主从

stop slave;

9、存在同步错误 停止主从后,跳过错误事务

set global sql_slave_skip_counter = 1;

以下都在my.cnf

主库同步到从库 数据库关系

replicate-rewrite-db=tajy_qianzhi->tajy_qianzhi

replicate-rewrite-db=tajy->taiedu //主从数据库名称不一致,重新指向

同步数据库所有表

replicate-wild-do-table=tajy_qianzhi.%

单独设置同步的表

replicate-do-table=taiedu.base_class

replicate-do-table=taiedu.base_class_teacher

replicate-do-table=taiedu.base_grade

replicate-do-table=taiedu.base_grade_director

replicate-do-table=taiedu.base_role

replicate-do-table=taiedu.base_student

replicate-do-table=taiedu.base_tenant

replicate-do-table=taiedu.base_user

相关推荐
阅读 +