美文网首页
Mysql主从同步配置

Mysql主从同步配置

作者: A时光淡忘了谁 | 来源:发表于2021-03-16 13:35 被阅读0次

[TOC]

### 1.搭建环境

    服务器是win10 64位的,mysql用的5.7.32,先去https://downloads.mysql.com/archives/community/ 下载合适的版本然后解压安装,20版本的做主服务器,32版本做从服务器。

### 2.在两个版本中分别建my.ini配置文件

  主库配置如下:

```

  [mysqld]

port = 3306

#(20版本所在文件夹路径)

basedir=E:\anzhuang\dbserver\mysql-5.7.20-winx64

#(data路径,存放日志文件)

datadir=E:\anzhuang\dbserver\mysql-5.7.20-winx64\data

#数据库备份文件名称,可自由取,生成后会带文件序列号,服务每重启一次就会产生一个新文件

log-bin=master-bin

server-id = 1

#表示需要备份的数据库为mst

binlog-do-db=mst

#表示不需要备份的数据库为mysql

#binlog-ignore-db=mysql

#如果两个都不设的话,从服务器会复制主服务器的全部数据库

#表示开启二进制日志,并把二进制日志前缀改为mysql-bin

#log-bin=mysql-bin

#最大连接数

max_connections=200

#编码

character-set-server=utf8

default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#skip-grant-tables

[mysql]

#编码

default-character-set=utf8

```

从库配置如下:

```

[mysqld]

port=3308

basedir=E:\anzhuang\dbserver\\slaver\mysql-5.7.32-winx64

datadir=E:\anzhuang\dbserver\\slaver\mysql-5.7.32-winx64\data

max_connections=200

max_connect_errors=10

character-set-server=utf8mb4

default-storage-engine=INNODB

#从库配置

server_id=2

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

relay-log=slave-relay-bin

# 需要同步的数据库名

replicate-do-db=mst

# 如果只同步某表

# replicate-wild-do-table=test.user

[mysql]

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

default-character-set=utf8mb4

[client]

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

port=3308

default-character-set=utf8mb4

```

### 3.初始化主库及从库

以管理员身份运行并打开cmd窗口,先进入主库的bin目录

    执行:mysqld --initialize --console,初始化并打印出初始化的密码,记住密码后面会用到。

    执行:mysqld --install masterMysql,注意masterMysql是我自定义的主库服务的名称。然后执行net start masterMysql,启动主库服务,启动成功后在执行mysql -u root -p,回车后在输入初始化得到的密码即可进入到mydql主数据库。 这时需要改下数据库的密码,执行:alter user 'root'@'localhost' identified with mysql_native_password by '1234567;

    在执行 :show databases; 查看主库中包含4个数据库

主库配置完后同样的步骤在配置下从库,注意从库名不同即可。

下面继续从库配置:

    首先通过cmd进入到解压后的从库bin目录下(管理员身份),然后执行mysqld --initialize --console,初始化并打印出初始化的密码,记住密码后面会用到。

    执行:mysqld --install slaverMysql,注意slaverMysql是我自定义的从库服务的名称。然后执行net start slaverMysql,启动从库服务,启动成功后在执行mysql -u root -p,回车后在输入初始化得到的密码即可进入到mydql的从库。

    进入从库之后先修改密码,执行:alter user 'root'@'localhost' identified with mysql_native_password by '1234567; 将密码修改为1234567,可以改为自己的。

    在执行 :show databases; 查看从库,如下图所示即代表从库初始化成功。

### 4.用Navicat验证下主库从库

说明:主库端口号3306,从库端口号3308,主库中的数据库mst是自己建好的,主库中放完整的mst及表数据,从库中也需要建好mst数据库名, 否则会提示找不到mst,为了保持主库与从库一致,从库中也需要导入mst的数据,否则开启主从同步后,按照目前写的配置,从库中只会同步开启同步之后时间点的数据,之前的则无法同步。

### 5.查看主库状态

    执行:show master status; 查看主库状态,红框中的File 及Position的值等会配置从库有用,mst表示我们要同步的数据库,是在my.ini中配置过的。

### 6.配置从库并启动复制

    在从库的命令窗口执行:

    mysql> change master to master_host='127.0.0.1',

    -> master_port=3306,

    -> master_user='root',

    -> master_password='1234567',

    -> master_log_file='master-bin.000003',

    -> master_log_pos=154;

执行成功标识如下:

    启动复制,执行:start slave;成功标识如下:

### 7.查看从库slave状态

执行:show slave status \G;出现两个yes代表配置成功

### 8.在主库中新建一个表测试

在主库中建一个a_test的空表

然后在从库中查看下表。出现a_test表表示成功。

相关文章

网友评论

      本文标题:Mysql主从同步配置

      本文链接:https://www.haomeiwen.com/subject/sbarcltx.html