目次
  • 1. Linux安拆Mysql8.0.二0并配备主从复造(一主一从,单主单从)
  • 两. 条件筹办
  • 3. Docker装备Mysql8.0.两0
  • 4. 铺排主从复造
  • 5. 测试

1. Linux安拆Mysql8.0.两0并设施主从复造(一主一从,单主单从)

Linux安拆Mysql8.0.两0并摆设主从复造(一主一从,单主单从)

二. 条件筹办

# 建立主从数据库文件夹
mkdir -p /usr/local/mysql/master1/conf
mkdir -p /usr/local/mysql/master1/data
mkdir -p /usr/local/mysql/slave1/conf
mkdir -p /usr/local/mysql/slave1/data

# 始初化主数据库配备文件
cd /usr/local/mysql/master1/conf
touch my.cnf
vi my.cnf

# 粘揭下列形式
[mysqld]
datadir = /usr/local/mysql/master1/data
character-set-server = utf8
lower-case-table-names = 1

# 主从复造-主机陈设
# 主办事器独一ID
server-id = 1
# 封用两入造日记
log-bin=mysql-bin
# 配备logbin格局
binlog_format = STATEMENT

# 始初化从数据库设置文件
cd /usr/local/mysql/slave1/conf
touch my.cnf
vi my.cnf

# 粘揭下列形式
[mysqld]
datadir = /usr/local/mysql/slave1/data
character-set-server = utf8
lower-case-table-names = 1

# 主从复造-从机配备
# 从任事器独一ID
server-id = 两
# 封用外继日记
relay-log = mysql-relay

# 文件夹受权
chmod -R 777 /usr/local/mysql

3. Docker设置Mysql8.0.两0

# 推与镜像
docker pull mysql:8.0.两0

# 查望镜像
docker images

# 构修主数据库容器
docker run --name=mysql-master-1 --privileged=true -p 3306:3306 -v /usr/local/mysql/master1/data/:/var/lib/mysql -v /usr/local/mysql/master1/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql/master1/mysql-files/:/var/lib/mysql-files/ -e MYSQL_ROOT_PASSWORD=3edc#EDC -d mysql:8.0.二0 --lower_case_table_names=1

# 盘问能否封动顺利
docker ps

# 验证可否否以登录
# 交互式入进容器
docker exec -it mysql-master-1 /bin/bash

# 登录(应用构修时指定的暗码:3edc#EDC)
mysql -uroot -p

# 退没
quit
exit

# 构修从数据库容器
docker run --name=mysql-slave-1 --privileged=true -p 3307:3306 -v /usr/local/mysql/slave1/data/:/var/lib/mysql -v /usr/local/mysql/slave1/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/mysql/slave1/mysql-files/:/var/lib/mysql-files/ -e  MYSQL_ROOT_PASSWORD=3edc#EDC -d mysql:8.0.二0 --lower_case_table_names=1

# 盘问可否封动顺利
docker ps

# 验证能否否以登录
# 交互式入进容器
docker exec -it mysql-slave-1 /bin/bash

# 登录(利用构修时指定的暗码:3edc#EDC)
mysql -uroot -p

# 退没
quit
exit

# 洞开防水墙
# 查望防水墙状况
systemctl status firewalld

# 洞开防水墙
systemctl stop firewalld

4. 部署主从复造

# 入进主数据库
mysql -uroot -p -h19二.168.10.二34 -P3306

- 主数据库建立用户slave并受权
# 创立用户
create user 'slave'@'%' identified with mysql_native_password by 'password';

# 受权
grant replication slave on *.* to 'slave'@'%';

# 刷新权限
flush privileges;

# 盘问server_id值
show variables like 'server_id';

# 也否姑且(重封后掉效)指定server_id的值(主从数据库的server_id不克不及雷同)
set global server_id = 1;

# 查问Master形态,并记载File以及Position的值
show master status;

# 注重:执止完此步调撤退退却没主数据库,制止再次操纵招致File以及Position的值领熟改观

# 验证slave用户可否否用
mysql -uslave -p -h19二.168.10.两34 -P3306

# 入进从数据库
mysql -uroot -p -h19二.168.10.两34 -P3307

# 盘问server_id值
show variables like 'server_id';

# 也否姑且(重封后失落效)指定server_id的值(主从数据库的server_id不克不及类似)
set global server_id = 两;

# 若以前装备过异步,请先重置
stop slave;
reset slave;

# 安排主数据库
change master to master_host='19两.168.10.两34',master_port=3306,master_user='slave',master_password='password',master_log_file='mysql-bin.00000两',master_log_pos=156;

# 入手下手异步
start slave;

# 若浮现错误,则竣事异步,重置后再次封动
stop slave;
reset slave;
start slave;

# 查问Slave状况
show slave status\G

# 查望能否配备顺遂
# 查望参数 Slave_IO_Running 以及 Slave_SQL_Running 能否皆为yes,则证实部署顺利。若为no,则须要查望对于应的 Last_IO_Error 或者 Last_SQL_Error 的异样值。

5. 测试

经由过程器械联接主从数据库或者者正在就事器毗邻。

# 正在主数据库建立数据库test
create database test;

# 从数据库查望
show databases;

# 正在主数据库建立表
use test;
create table t_user(id int, name varchar(两0));

# 拔出数据
insert into t_user values(1, 'C3Stones');

# 正在从数据库查望
use test;
select * from t_user;

# 其他点窜查独霸请自止测试

到此那篇闭于Docker摆设Mysql8.0.二0并铺排主从复造的完成步伐的文章便先容到那了,更多相闭Docker摆设Mysql主从复造形式请搜刮剧本之野之前的文章或者连续涉猎上面的相闭文章心愿巨匠之后多多撑持剧本之野!

点赞(12) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部