mysql5.7.25解压版安装主从同步配置

database

 

#锁定主数据库

flush tables with read lock

#验证结果

INSERT INTO `kettle`.`user_copy` (`id`, `name`, `telphone`) VALUES ("4", "4", "4");

# [SQL]INSERT INTO `kettle`.`user_copy` (`id`, `name`, `telphone`) VALUES ("4", "4", "4");

# [Err] 1223 - Can"t execute the query because you have a conflicting read lock

#解锁主数据库

#切换回主数据库的终端,进行表解锁操作。

unlock tables;

 

主数据库配置

[mysqld]

# 设置3306端口

port=3306

# innodb_force_recovery = 0

# 设置mysql的安装目录

basedir=D:\mysql\master

# 设置mysql数据库的数据的存放目录

datadir=D:\mysql\master\data

# 允许最大连接数

max_connections=1000

# 允许连接失败的次数。

max_connect_errors=10

# 服务端使用的字符集默认为utf8mb4

character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

#mysql_native_password

#default_authentication_plugin=mysql_native_password

#满查询日志

slow_query_log = ON

slow_query_log_file = D:\mysql\master\data\slow.log

#超过10秒记录日志

long_query_time = 10

# binlog 配置

log-bin = D:\mysql\master\binlog\mysql-bin.log

expire-logs-days = 30

max-binlog-size = 500M

server-id = 1

#设置需要同步的数据库

binlog-do-db=kettle

#屏蔽系统库同步

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

[WindowsMySQLServer]

Server=D:\mysql\master\bin\mysqld.exe

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8mb4

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8mb4

主要添加的配置为

#设置需要同步的数据库

binlog-do-db=kettle

#屏蔽系统库同步

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

 

从数据库 配置

[mysqld]

# 设置3307端口

port=3307

# innodb_force_recovery = 0

# 设置mysql的安装目录

basedir=D:\mysql\slave

# 设置mysql数据库的数据的存放目录

datadir=D:\mysql\slave\data

# 允许最大连接数

max_connections=1000

# 允许连接失败的次数。

max_connect_errors=10

# 服务端使用的字符集默认为utf8mb4

character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

#mysql_native_password

#default_authentication_plugin=mysql_native_password

#满查询日志

slow_query_log = ON

slow_query_log_file = D:\mysql\slave\data\slow.log

#超过10秒记录日志

long_query_time = 10

# binlog 配置

log-bin = D:\mysql\slave\binlog\mysql-bin.log

expire-logs-days = 30

max-binlog-size = 500M

server-id = 2

#设置需要同步的数据库

replicate_wild_do_table=kettle.%

#屏蔽系统库同步

replicate_wild_ignore_table=mysql.%

replicate_wild_ignore_table=information_schema.%

replicate_wild_ignore_table=performance_schema.%

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8mb4

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3307

default-character-set=utf8mb4

 

主要添加的配置为

#设置需要同步的数据库 

replicate_wild_do_table=kettle.%

#屏蔽系统库同步

replicate_wild_ignore_table=mysql.%

replicate_wild_ignore_table=information_schema.%

replicate_wild_ignore_table=performance_schema.%

 

主数据操作

use mysql 

GRANT REPLICATION SLAVE ON *.* TO "db_sync"@"%" IDENTIFIED BY "db_sync";

FLUSH PRIVILEGES;

show master status

通过 show master status 查询 file 和 potition 并记录

从数据库操作

STOP SLAVE

CHANGE MASTER TO master_host = "localhost",master_user = "db_sync",master_password = "db_sync",master_log_file = "mysql-bin.000003",master_log_pos = 154

START SLAVE

show slave status

 通过 show slave status 命令查看 同步状态 

slave-io-running 和 slave-sql-running 都为 yes 才表示正常

另外特别注意,my.ini 文件的 server-id  不能相同 ,如果不小心设置了相同值,导致无法同步,可以先停服务,然后将数据库安装目录 data 目录下的 

auto.cnf 文件删除,重启数据库解决,( 建议直接删除掉,重启服务后将会重新生成 )  ,因为里面的 server-uuid 通过 server-id 生成的。

#注意 如果之前此备库已有主库指向 需要先执行以下命令清空 

STOP SLAVE IO_THREAD FOR CHANNEL "";

reset slave all;


 

 

 

 

 

 

以上是 mysql5.7.25解压版安装主从同步配置 的全部内容, 来源链接: utcz.com/z/532920.html

回到顶部