您的位置:首页 > 数据库 > MySQL

Mysql主从搭建-Windows版

2018-01-22 14:16 309 查看

一 环境说明

1 软件版本说明

操作系统:Window server 2008 R2

数据库版本:5.7.20

2 安装说明

由于是测试环境,因此是在同一主机上搭建的。主从数据库总体分配如下

数据库名称端口号角色
mysql-m13320master
mysql-s13321slave1
mysql-s23322slave2
mysql-s33323slave3

二 环境搭建

2.1 下载说明

本文采用的是免安装版本(),下载地址:

https://dev.mysql.com/downloads/mysql/

2.2 安装

首先创建4个目录,分别为:mysql-m1、mysql-s1、mysql-s2、mysql-s3。
下载完成后分别将压缩包解压到这4个目录中,并分别在目录下创建my.ini文件。



2.3 环境变量配置

2.3.1 my.ini配置

mysql-m1:

[mysqld]

log_bin = log
basedir = D:\\mysql57\\mysql-m1
datadir = D:\\mysql57\\mysql-m1\data
port = 3320
character_set_server=utf8
server_id = 20


mysql-s1:

[mysqld]

#log_bin = log 从库可以不开启binlog
basedir = D:\\mysql57\\mysql-s1
datadir = D:\\mysql57\\mysql-s1\data
port = 3321
character_set_server=utf8
server_id = 21


mysql-s2:

[mysqld]

#log_bin = log 从库可以不开启binlog
basedir = D:\\mysql57\\mysql-s2
datadir = D:\\mysql57\\mysql-s2\data
port = 3322
character_set_server=utf8
server_id = 22


mysql-s3:

[mysqld]

#log_bin = log 从库可以不开启binlog
basedir = D:\\mysql57\\mysql-s3
datadir = D:\\mysql57\\mysql-s3\data
port = 3323
character_set_server=utf8
server_id = 23


2.3.2 初始化mysql实例

1 mysql-m1实例步骤

以管理员身份打开命令行窗口(组合键win+R,在打开中输入cmd,点击确定)。

在命令行窗口中,切换至mysql-m1/bin目录下,然后执行mysqld install mysql-m1 –defaults-file=”D:\mysql57\mysql-m1\my.ini”,提示Service successfully installed。

初始化数据,执行mysqld –defaults-file=”D:\mysql57\mysql-m1\my.ini” –initialize,稍等片刻,执行成功没有任何提示。执行成功后在mysql-m1目录下多出一个data文件夹



注:–defaults-file属性一定要,并且要对应相关目录下的my.ini不然可能会导致mysql服务无法启动。

2 其它数据库实例步骤

其它三个库参照mysql-m1的实例方法。

3 启动数据库

有两种方法可以启动数据库服务:

1、通过服务窗体,找到数据库实例名称,点击启动。

2、在命令行窗口中输入:net start mysql-m1



3 重置mysql的root用户密码

在实例化mysql数据库时,系统会自动生成一个root用户密码。我们可以用记事本打开data目录下的*.err文件(*一般是计算机名),找到A temporary password is generated for root@localhost: (iQ4?Ilk2p0.

。其中“(iQ4?Ilk2p0.”就是系统默认生成的密码。



然后在命令行窗口下执行命令,mysql -P3320 -uroot -p,然后输入密码:(iQ4?Ilk2p0.。登录成功后,执行以下命令修改root用户密码为123456。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;


依次类推修改另外三个库的。

注:mysql -P 一定要加上,指定对应的端口号,不然是默认的3306



2.3.3 设置主从关系

1 在master库中创建slave用户

登录主库mysql-m1:

mysql -P3320 -uroot -p123456


登录成功后,输入命令行:

GRANT REPLICATION SLAVE ON *.* to 'testsyn'@'localhost' identified by '123456';


其中:testsyn是slave库访问主库的用户名,密码是“123456”

2查看binlog信息

mysql> show master status;




记录下file和position信息(log.000003和448)。

3 配置从库信息

(1) 登录mysql-s1数据库

mysql -P3321 -uroot -p123456


(2) 设置从库mysql-s1的master:

mysql> change master to master_host='127.0.0.1',master_port=3320,master_user='testsyn',master_password='123456',master_log_file='log.000003',master_log_pos=448;




这里的master_log_file和master_log_pos对应刚才show master status记下的参数。

(3) 从库开启数据库复制功能

mysql> start slave;


(4) 查看从库信息

mysql> show slave status\G;




Slave_IO_Running和Slave_SQL_Running都为YES是表示主从配置成功,若没有请检查slave授权步骤

是否有误,接着以此类推配置剩余两个从库即可。

2.4 测试主从配置是否成功

在mysql-m1中创建一个数据库

mysql -P3320 -uroot -p123456
mysql> create database study;
mysql> show databases;




查看从库mysql-s1是否同步

mysql -P3321 -uroot -p123456
show databases;




然后依次查看mysql-s2和mysql-s3。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: