[精]MySQL主从配置 详细教学

Mysql主从配置

优先处理

如果之前有安装过只有主库的Mysql,需要先
1. 关闭管理服务
2. 删除环境变量
3. 彻底删除文件
4. 删除注册表等

1.下载解压版

先从https://dev.mysql.com/downloads/mysql/下载自己所需要的版本,我这边下载的都是5.7.27版本。

也可以下载不同版本的,但是主库的版本号一定要比从库的版本号高
我这边都是下载同个版本,直接修改文件名命名。

在这里插入图片描述在这里插入图片描述

2.修改文件夹命名

先不要配环境变量!!!!!!!!!!!!!!!配了请自行删除!!!!

以D盘为主
新建一个Mysql文件夹
在这里插入图片描述
把下载后的压缩包解压后放入文件夹,复制一份,修改命名,
我这边是为了方便区分主从,1为主,2为从。如图:
在这里插入图片描述

3.修改主从my.ini配置文件

修改**主库的my.ini文件:
默认目录是
没有my.ini文件**,可以先新建一个my.txt文件
将下列复制到里面,保存,修改后缀名为ini格式。

[client]
port=3306
default-character-set=utf8
[mysqld]
#主库配置
server_id=1
log_bin=master-bin
log_bin-index=master-bin.index

#端口
port=3306
character_set_server=utf8
#解压目录
basedir=D:\Mysql\mysql-5.7.27-1winx64
#解压目录下data目录
datadir=D:\Mysql\mysql-5.7.27-1winx64\data

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\Mysql\mysql-5.7.27-1winx64\bin\mysqld.exe

修改**从库的my.ini文件:
默认目录是
没有my.ini文件**,可以先新建一个my.txt文件
将下列复制到里面,保存,修改后缀名为ini格式。

[client]
port=3307
default-character-set=utf8
[mysqld]
#从库配置
server_id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
#端口
port=3307
character_set_server=utf8
#解压目录
basedir=D:\Mysql\mysql-5.7.27-2winx64
#解压目录下data目录
datadir=D:\Mysql\mysql-5.7.27-2winx64\data

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\Mysql\mysql-5.7.27-2winx64\bin\mysqld.exe

3.主库cmd命令

①从主库bin目录地址栏输入cmd直接用管理员身份进入命令提示符
在这里插入图片描述
在这里插入图片描述
②按顺序从上到下输入对应的命令:↓
(其中加"//"均为注释,不用复制。)
注:
其中的 slave 为从库mysql的服务名称

//安装路径:

mysqld --install master --defaults-file="D:\Mysql\mysql-5.7.27-1winx64\my.ini"

//出现service successfully installed则表示命令执行成功。

注:
上面安装失败的原因有:第一没有以管理员的身份进入,第二没有进入bin目录下。

//初始化:

mysqld --initialize-insecure --user=master

//启动主库:

net start master

如果启动失败,请:
1.用mysqld remove master命令移除
2.删除文件夹中的data整个文件夹
3.重新按上面顺序再来一次。

//进入主库,默认密码为空,直接回车键进入。

mysql -P3306 -uroot –p

//给从库授权 create user “账号”@“localhost” identified by “密码”

create user "slave"@"localhost" identified by "slave";

//赋予管理权限

grant all privileges on *.* to "slave"@"localhost";

//刷新权限

flush privileges;

//显示主库状态

show master status;

此时会出现:
在这里插入图片描述

此时不要关闭这个命令框,可以先截图保存你的FilePosition名。
File和Position是随机不固定的。此时不要关闭主库



//查看端口号:

show global variables like 'port';

//查看server_id:

show variables like 'server_id';

主从的端口号跟server_id要不一致!!!


4.从库cmd命令

①从从库bin目录地址栏输入cmd直接用管理员身份进入命令提示符
在这里插入图片描述
在这里插入图片描述

**
②按顺序从上到下输入对应的命令:↓
(其中加"//"均为注释,不用复制。)
注:
其中的 slave 为从库mysql的服务名称

//安装路径

mysqld --install slave --defaults-file="D:\Mysql\mysql-5.7.27-2winx64\my.ini"

//出现service successfully installed则表示命令执行成功。

注:
此处安装失败的原因有:第一没有以管理员的身份进入,第二没有进入bin目录下。

//设置从库名

mysqld --initialize-insecure --user=slave

//启动从库

net start slave

如果启动失败,请:
1.用mysqld remove slave命令移除
2.删除文件夹中的data整个文件夹
3.重新按上面顺序再来一次。

//进入从库,默认密码为空,直接回车键进入。

mysql -P3307 -uroot –p

//停止从库

stop slave;

//建立主从连接并告知二进制文件名与位置,
其中master-bin.000002和762都是来源于上面主库的信息

change master to master_host="localhost", master_port=3306, master_user="slave", master_password="slave", master_log_file="master-bin.000002",master_log_pos=762;

//启动从库

start slave;

//查看从库状态,出现上图所示2个Yes说明配置成功,否则失败。

show slave status\G

在这里插入图片描述
此时从库配置完毕!!!


//查看端口号:

show global variables like 'port';

//查看server_id:

show variables like 'server_id';

主从的端口号跟server_id要不一致!!!


5.测试主从

①在主库命令行中输入:

//创建一个user的数据库

create database user;

//显示数据库

show databases;

在这里插入图片描述

②在从库命令行中输入:

//显示数据库

show databases;

在这里插入图片描述
此时两边都有显示刚新建的数据库即主从配置成功!!
在这里插入图片描述

//查看端口号:

show global variables like 'port';

//查看server_id:

show global variables like 'port';

主从的端口号跟server_id要不一致!!!

使用Navicat测试:
①主库连接:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

成功连接

②从库连接:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
修改密码:
//括号里的就是新密码

set password for root@localhost=password('root');

完美成功!

读后有收获可以支付宝请作者喝咖啡:
在这里插入图片描述

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页