win7 mysql主从配置

一:环境介绍及说明

  主库所在的操作系统:win7

  主库的版本:mysql-5.6.40-winx64.zip

  主库的ip地址:127.0.0.1

  主库的端口:3306

  从库所在的操作系统:win7

  从库的版本:mysql-5.6.40-winx64.zip

  从库的ip地址:127.0.0.1

  从库的端口:3307

二:window7上安装并启动两个mysql数据库

    下载完成解压到任意目录.以下是我的解压目录:
  
E:\mysql\mysql-5.6.40-winx64\mysql_master(第一个目录)

E:\mysql\mysql-5.6.40-winx64\mysql_slave(第二个目录)

 安装第一个mysql

在第一个目录中将my-default.ini文件重命名为my.ini,并将文件中 [mysqld] 下几个配置修改如下:
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\mysql\mysql-5.6.40-winx64\mysql_master
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql\mysql-5.6.40-winx64\mysql_master\data
打开cmd或以管理员的身份打开cmd,然后进入E:\mysql\mysql-5.6.40-winx64\mysql_master\bin\目录,执行以下命令:
mysqld --install mysql_master
注:MySQL1 为重命名的数据库名称;
以上步骤执行完成之后,选择"计算机"-"右键"-"管理"-"服务与应用程序"-"服务",能查看到刚才的MySQL1,说明安装成功.
若是要删除数据库,进入E:\mysql\mysql-5.6.40-winx64\mysql_master\bin\目录,可以执行以下命令:
mysqld --remove mysql_master

回到cmd,还是进入D:\ProgramFiles\MySQL5.6.22\mysql_master\bin\目录,可以执行以下命令:

net start mysql_master 启动数据库

net stop mysql_master 关闭数据库

mysql -h localhost -P3306 -u root -p登陆数据库  注意:因为端口号修改了,所以必须以这种方式登陆,-P必须大写,否则无法登陆;

至此第一个数据库就可以使用了;
安装第二个mysql
将第一个目录mysql_master中的所有文件复制到第二个目录mysql_slave中;
然后打开mysql_slave目录中的my.ini文件,修改三个配置:
basedir =E:\mysql\mysql-5.6.40-winx64\mysql_slave
datadir =E:\mysql\mysql-5.6.40-winx64\mysql_slave\data
port=3307
进入E:\mysql\mysql-5.6.40-winx64\mysql_slave\bin\目录,执行以下命令:
mysqld --install mysql_slave
注:MySQL2为重命名的数据库名称;
以上步骤执行完成之后,选择"计算机"-"右键"-"管理"-"服务与应用程序"-"服务",能查看到刚才的MySQL2,说明安装成功.
至此第二个数据库就可以使用了;

备注:net start mysql_slave 报错,解决方法:

检票注册表中是否配置成功,运行regedit打开注册表 找到 HEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/
E:\mysql\mysql-5.6.40-winx64\mysql_slave\bin\mysqld mysql_slave

三:mysql配置主从服务

1:主库(master)的安装及配置

修改mysql_master\my.ini文件

[client]
port=3307
default-character-set=utf8

[mysqld]
server_id=1
log_bin=master-bin
log_bin-index=master-bin.index


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
port =3306
character_set_server=utf8
basedir=E:\mysql\mysql-5.6.40-winx64\mysql_master
datadir=E:\mysql\mysql-5.6.40-winx64\mysql_master\data
[WinMySQLAdmin]
E:\mysql\mysql-5.6.40-winx64\mysql_master\bin\mysqld.exe

修改mysql_slave\my.ini文件

[client]
port=3307
default-character-set=utf8
[mysqld]

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

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
port =3307
basedir=E:\mysql\mysql-5.6.40-winx64\mysql_slave
datadir=E:\mysql\mysql-5.6.40-winx64\mysql_slave\data
[WinMySQLAdmin]
[WinMySQLAdmin]
G:\Mysql\mysql-5.6.38-winx64\bin\mysqld.exe\bin\mysqld.exe

2:进入mysql_master\bin net start mysql_master 启动服务

       进入mysql_slave\bin net start mysql_slave启动服务

3、关联主库(master)与从库(slave

上面我们已经把master和slave相关配置文件都已添加,并分别启动了master与slave,现在我们分别登录到master和slave的mysql中,

  master的mysql 执行命令 show master status查看master的状态

       slave的mysql  执行命令 show slave status查看slave的状态

       我们可以发现 ,master的状态下,生成了一个二进制的日志文件,而slave下是空的,所以我们现在就要把主库与从库关联起来。只需要让从库(slave)知道主库(master)

   的地址就可以了。

    首先我们需要在主库(master)中创建一个用户用于与从库同步的用户名和密码(这里我创建一个test用户,密码为mysql),并给test用户授权,以用于主库操作从库 

   

相关命令:
  create user test;
  grant replication slave on *.* to '从库用户名(test)'@'从库主机地址(127.0.0.1)'identified by '密码(mysql)';
  flush privileges;

  现在我们切到从库(slave),把主库与从库联系起来。

  执行以下命令:

  change master to master_host='127.0.0.1',master_port=3306,master_user='test',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=0;

   然后执行命令 start slave 开启主从同步

      

      然后执行命令查看 slave的状态

  show slave status \G;

      

至此,主从跟踪已经开启,并全部配置完成

 4、验证主从同步

  我们进入master和slave并查看他们的数据库,如下图:

  然后我们在主库中创建一个数据库user,看一下从库有没有变化

猜你喜欢

转载自www.cnblogs.com/Yulong123/p/9085429.html