Mysql主从服务安装配置

1.下载地址

MySQL :: Download MySQL Community Server (Archived Versions)icon-default.png?t=N7T8https://downloads.mysql.com/archives/community/

2.安装配置

1.下载解压后,拷贝一份作为slave的安装目录

Mysql主从服务安装配置_第1张图片

3.配置my.ini

由于下载mysql8版本,解压后,没有相关的my.ini配置文件,需要手动创建配置文件。

参考地址:

MySQL :: MySQL 8.0 Reference Manual :: 2.3.4.2 Creating an Option Fileicon-default.png?t=N7T8https://dev.mysql.com/doc/refman/8.0/en/windows-create-option-file.html

MySQL :: MySQL 8.0 Reference Manual :: 4.2.2.2 Using Option Filesicon-default.png?t=N7T8https://dev.mysql.com/doc/refman/8.0/en/option-files.html

3.安装命令

3.1安装主服务器

  1. 配置my.ini脚本

在C:\mysql8\mysql8.0.2-master目录下,新建my.ini文件,将以下内容复制到文件中进行保存。

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[client]
default-character-set=utf8
port=3307

[mysqld]

#设置开启日志
log-bin = mysql-bin
#设置服务ID,主从不能一致
server-id = 1
#设置需要同步的数据库
binlog-do-db = user_db
#屏蔽系统同步
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
#设置3306端口
port = 3307
# 设置mysql的安装目录
basedir=C:\\mysql8\\mysql8.0.2-master
# 设置mysql数据库的数据的存放目录
datadir=C:\\mysql8\\mysql8.0.2-master\\data
# 允许最大连接数
max_connections=2000
# 服务端使用的字符集默认为8比特编码的latin1字符集
#character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

2.进入到mysql的bin目录

Mysql主从服务安装配置_第2张图片

3.初始化数据库

Mysql主从服务安装配置_第3张图片

mysqld --initialize --user=mysql --console

获取到初始化密码sQlnj#Ckl0rL

Mysql主从服务安装配置_第4张图片

初始化成功会在data目录下产生文件

4.安装mysql服务

Mysql主从服务安装配置_第5张图片

mysqld --install mysqlmaster --defaults-file="C:\mysql8\mysql8.0.2-master\my.ini"

Mysql主从服务安装配置_第6张图片

安装成功后再windows service服务中可以看到该服务

5.启动mysql服务

Mysql主从服务安装配置_第7张图片

启动mysqlmaster服务成功

Mysql主从服务安装配置_第8张图片

3.2安装从服务器

1.配置my.ini脚本

在C:\mysql8\mysql8.0.2-slave目录下,新建my.ini文件,将以下内容复制到文件中进行保存。

[client]
port=3308

[mysql] 
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]

#设置开启日志
log-bin = mysql-bin
#设置服务ID,主从不能一致
server-id = 2
#设置需要同步的数据库
#replicate_do_db = user_db
#屏蔽系统同步
#replicate_wild_ignore_table = mysql%
#replicate_wild_ignore_table = informatin_schema.%
#replicate_wild_ignore_table = performance_schema.%
#设置3308端口
port = 3308
# 设置mysql的安装目录
basedir=C:\\mysql8\\mysql8.0.2-slave
# 设置mysql数据库的数据的存放目录
datadir=C:\\mysql8\\mysql8.0.2-slave\\data
# 允许最大连接数
max_connections=2000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

2.进入到mysql的bin目录

3.初始化数据库

Mysql主从服务安装配置_第9张图片

mysqld --initialize --user=mysql --console

获取到数据库初始化密码gLp#Q,*wy5Gf

Mysql主从服务安装配置_第10张图片

初始化成功会在data目录下产生文件

Mysql主从服务安装配置_第11张图片mysqld --install mysqlslave --defaults-file="C:\mysql8\mysql8.0.2-slave\my.ini" 

Mysql主从服务安装配置_第12张图片

安装mysqlslave服务成功。

4.启动mysql服务

Mysql主从服务安装配置_第13张图片

4.连接主从数据库

Mysql主从服务安装配置_第14张图片

使用工具连接数据库服务器后,连接正常。(连接前会提示修改初始化密码)

5.修改主从配置文件

1.停止mysql主从服务

Mysql主从服务安装配置_第15张图片

修改配置文件时,首先将服务停止。

2.修改主从配置文件

2.1修改主服务器文件如下:

Mysql主从服务安装配置_第16张图片

#设置开启日志
log-bin = mysql-bin
#设置服务ID,主从不能一致
server-id = 1
#设置需要同步的数据库
binlog-do-db = user_db
#屏蔽系统同步
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema

2.2修改从服务器文件如下

Mysql主从服务安装配置_第17张图片

#设置需要同步的数据库

replicate_do_db = user_db

3.启动主从服务

3.创建从服务器访问的账户

Mysql主从服务安装配置_第18张图片

创建用于操作账户,在主节点创建一个用户db_sync,用于从节点链接主节点时使用。

create user 'db_sync'@'%' identified with mysql_native_password by 'db_sync'; #创建用户
grant replication slave on *.* to 'db_sync'@'%'; #用户授权
flush privileges; #刷新权限
show master status;查看记录文件名和位置点

Mysql主从服务安装配置_第19张图片

创建成功后,可在主数据库中查询到新建的db_sync用户信息

4.查看主库的状态

Mysql主从服务安装配置_第20张图片

5.设置从库向主库同步数据

Mysql主从服务安装配置_第21张图片

mysql ‐h localhost ‐P3308 ‐uroot ‐p
#先停止同步
STOP SLAVE;
#修改从库指向到主库,使用上一步记录的文件名以及位点
change master to 
master_host='localhost',
master_port=3307,
master_user='db_sync',
master_password='db_sync',
master_log_file='mysql-bin.000002',
master_log_pos=1152; #需要在主库中输入show master status可查询文件名称
#需要在主库中输入show master status可查询文件名称
#启动同步
START SLAVE;
#查看从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查
error_log,然后排查相关异常

6.查询从库的状态

Mysql主从服务安装配置_第22张图片

#查看从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查

error_log,然后

排查相关异常。

show slave status

#注意 如果之前此从库已有主库指向 需要先执行以下命令清空

STOP SLAVE IO_THREAD FOR CHANNEL '';

reset slave all;

在主库中查询到的file和Position字段的数据对应从库设置的master_log_file和master_log_pos字段。

6.测试数据库同步

6.1在主数据库中创建user_db数据和t_user表

Mysql主从服务安装配置_第23张图片

在主数据库中创建user_db,并创建表,该表数据为空

Mysql主从服务安装配置_第24张图片

查询从库数据,从数据库会自动创建数据库和表。

6.2.在主数据库插入数据,查看从库同步的数据。

Mysql主从服务安装配置_第25张图片

7.附加说明

1.同步问题排查

Mysql主从服务安装配置_第26张图片

如果从库没有同步数据,可使用show slave status命令,查看master_info_File和Slave_SQL_Running_State字段显示的信息

2.cmd下执行数据库初始化或者创建windows service服务失败。

必须在管理员模式下打开命令窗口

3.在初始化数据库时失败

在配置my.inf的datadir时,必须要自己创建好data文件夹。

你可能感兴趣的:(Mysql,CentOS,mysql,centos,数据库)