ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

windows mysql 主从同步

2021-11-20 21:01:50  阅读:144  来源: 互联网

标签:set slave windows 数据库 server master mysql 主从


安装数据库

1.安装多个MYSQL数据库(具体安装步骤,详见文档 “windows mysql8 安装” )   主库 1.在主库中my.ini文件中添加配置信息
log-bin = mysql-bin  #主从复制  表示启动二进制文件
server_id = 3306  #server_id编号 编号唯一 可以默认为端口号
binlog-do-db=quartz_backjob  #设置同步的数据库
#binlog-ignore-db=mysql  #可以设置不需要同步的数据库
具体的配置项目参照如下
For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# log_bin

#MYSQL 安装目录
basedir = D:\mysql-8.0.25-winx64

#MYSQL 数据存放目录
datadir = D:\mysql-8.0.25-winx64\data

#mysql端口
port = 3306

#主从复制  表示启动二进制文件
log-bin = mysql-bin

#server_id编号 编号唯一 可以默认为端口号
server_id = 3306

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#同步的数据库
binlog-do-db=quartz_backjob
#不需要同步的数据库
#binlog-ignore-db=mysql
  2.重启mysql服务   3.使用root用户登录,(注意:一定要先cmd到mysql安装目录中的bin目录下)

mysql -u root -p

 

  4.创建slave账号,并赋值权限,命令如下

mysql> CREATE USER 'slave'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'slave123'
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' ;
mysql> FLUSH PRIVILEGES;

 

  5.查看主数据库状态,注意这里的参数:File与Position,后续从库配置中会使用到

show master status;

 

从库 my.ini具体的配置项如下
For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# log_bin

#MYSQL 安装目录
basedir = E:\mysql

#MYSQL 数据存放目录
datadir = E:\mysql\data

#mysql端口
port = 3307

#server_id编号 编号唯一 可以默认为端口号
server_id = 3307

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#同步的数据库
binlog-do-db=quartz_backjob
#不需要同步的数据库
#binlog-ignore-db=mysql
  1.登录从数据库
mysql -P3307 -uroot -p   #3307为当前从数据库mysql端口

  2.查看从数据库状态
show slave status;

 

3.在从数据库中配置主数据库的信息

change master to
master_host='192.168.0.63',master_port=3306,master_user='slave',master_password='slave123',master_log_file='mysql-bin.000001',master_log_pos=820;
参数解析: master_host:Master数据库地址 master_port:Master数据库端口 master_user:用户名 master_log_file:对应Master数据库二进制日志文件 master_log_pos:对应Master数据库Position

  4.启动slave
start slave;

 

5.查看运行状态

show slave status\G
 当这下面两个属性为Yes的时候,配置成功。 Slave_IO_Running: Yes Slave_SQL_Running: Yes

  注意:若出现同步失败(上面没显示两个yes),请查看Last_Error的错误信息,若错误信息为“Unknown database 'xxx'”,则可以将主数据库数据和表结构全部导出,并将此数据在从据库中导入。导入成功后,执行下面的语句再确保是否出错
stop slave;
start slave;
show slave status\G

  6.测试。将主库中的数据修改,查看从库是否同步成功。

标签:set,slave,windows,数据库,server,master,mysql,主从
来源: https://www.cnblogs.com/pfwbloghome/p/15582530.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有