mysql主从配置详细步骤(测试成功)

mysql主从配置

相关的理论知识大家可以网上找一下,我这里主要从实战的配置来介绍mysql主从配置,查询了很多资料,也测试了很多遍,最后自己整理出这份能成功mysql主从的配置步骤。

环境介绍和说明

由于测试的环境是在windows服务器上测试的,所以整个环境配置按windows来配置,linux的也差不多,可以相应修改一下即可。2台服务器都是新装的系统,操作会一步一步按标准来进行。

            主库和从库操作系统:win 2012
            主库和从库版本:mysql-5.7.23-winx64
            主库的IP地址:192.168.18.82
            从库的IP地址:192.168.18.83
            主从的端口:3306

数据库安装

数据库安装

上mysql官网下载数据包版本mysql-5.7.23-winx64,然后解压到D盘;配置环境变量path(;D:\mysql-5.7.23-winx64\bin);安装vcredist_x64(好像一个xxx120.dll之类的)。主从数据库都一样

主数据库配置

在主数据库D:\mysql-5.7.23-winx64根目录下建一个my.ini的文件。内容:

    [mysql]             
    # 设置mysql客户端默认字符集
   default-character-set=utf8      ###这里设置字符集,用了一段时间报错,现在我默认注释了
   [mysqld]
   #设置3306端口
   port = 3306
   # 设置mysql的安装目录
   basedir=D:\mysql-5.7.23-winx64
    # 设置mysql数据库的数据的存放目录
   datadir=D:\mysql-5.7.23-winx64\data
   # 允许最大连接数
  max_connections=200
  # 服务端使用的字符集默认为8比特编码的latin1字符集
 character-set-server=utf8
 # 创建新表时将使用的默认存储引擎
 default-storage-engine=INNODB
     default_password_lifetime=0
 ##设置服务器ID,必须保持唯一性
 server-id=1
 ##设置需要写bin日志的数据库,多个数据库则要多行分别设置
binlog-do-db=test
##设置不需要写bin日志的数据库,多个数据库则要多行分别设置
    #binlog-ignore-db=mysql
#binlog-ignore-db=information_schema
##注:binlog-do-db, binlog-ignore-db 为互斥关系,只需设置其中一项即可;    
##更要注意binlog-do-db库的SQL不能有操作binlog-ignore-db库的语句或动作,否则报错
##日志模式
binlog-format=row
##二进制日志文件存放位置,可以设置路径;也可以不设置,此时存放到
log-bin=D:/mysql-5.7.23-winx64/data/test-binlog

上面的内容只需要根据自己配置的数据把 binlog-do-db=test和 log-bin=D:/mysql-5.7.23-winx64/data/test-binlog中的test数据库改成自己的数据库名即可,其他不需要改动。

然后打开 cmd进入到主数据库bin目录下进行配置:
mysql主从配置详细步骤(测试成功)

mysqld --initialize --user=mysql --console      #初始化并创建data文件夹;
mysqld --install                                               #安装数据库并检查是否成功;
net start mysql                                                #启动mysql数据;
mysql -u root -p                                              #进入数据库;

mysql主从配置详细步骤(测试成功)

set password=password('root')  ;                     #更改root的密码为root
CREATE USER 'abc'@'192.168.18.83' IDENTIFIED BY '123456';  #创建用户abc,密码是123456
GRANT REPLICATION SLAVE ON *.* TO 'abc'@'192.168.18.83';#分配权限;
 flush privileges; #刷新权限
CREATE DATABASE test;  #创建test数据库
show master status;   #查看master状态,记录二进制文件名

主库配置完成,先放着,别关闭,等下从库配置需要用到二进制文件名和POS端口

从数据库配置

在从数据库D:\mysql-5.7.23-winx64根目录下建一个my.ini的文件。内容:

 [mysql]
   # 设置mysql客户端默认字符集
  default-character-set=utf8      ###这里设置字符集,用了一段时间报错,         现在我默认注释了
  [mysqld]
  #设置3306端口
  port = 3306
  # 设置mysql的安装目录
  basedir=D:\mysql-5.7.23-winx64
  # 设置mysql数据库的数据的存放目录
  datadir=D:\mysql-5.7.23-winx64\data
   # 允许最大连接数
   max_connections=200
   # 服务端使用的字符集默认为8比特编码的latin1字符集
  character-set-server=utf8
  # 创建新表时将使用的默认存储引擎
 default-storage-engine=INNODB
      default_password_lifetime=0
 ##设置服务器ID,必须保持唯一性
 server-id=2
 ##设置需要写bin日志的数据库,多个数据库则要多行分别设置
 replicate-do-db=test
 ##设置不需要写bin日志的数据库,多个数据库则要多行分别设置
 replicate-ignore-db=information_schema
  replicate-ignore-db=mysql
 replicate-ignore-db=performance_schema
 replicate-ignore-db=sys

上面的内容只需要根据自己配置的数据把 replicate-do-db=test中的test数据库改成自己的数据库名即可,其他不需要改动。
然后打开 cmd进入到主数据库bin目录下进行配置:
mysql主从配置详细步骤(测试成功)

mysqld --initialize --user=mysql --console      #初始化并创建data文件夹;
mysqld --install                                               #安装数据库并检查是否成功;
net start mysql                                                #启动mysql数据;
mysql -u root -p                                              #进入数据库;

mysql主从配置详细步骤(测试成功)

set password=password('root')  ;                     #更改root的密码为root
CREATE DATABASE test;  #创建test数据库   
    change master to
     master_host='192.168.18.82',                        #主数据库地址
  master_user='abc',                                          #用户
  master_password='123456',                           #密码
  master_log_file='test-binlog.000002',              #主数据库生成的log文件名
         master_log_pos=1172;                                   #主数据库生成的log_pos

        start slave;                                                    # 启动从数据库

       show slave status \G;                                    #查看从库状态

mysql主从配置详细步骤(测试成功)

当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。接下来就可以进行一些验证了,比如在主master数据库的test数据库的一张表中插入一条数据,在slave的test库的相同数据表中查看是否有新增的数据即可验证主从复制功能是否有效。

转载于:https://blog.51cto.com/13242922/2336352

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值