• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
数据库读写分离

https://segmentfault.com/a/1190000038420324

 

主从分离

https://segmentfault.com/a/1190000023775512

 

 

一台电脑配置数据库主从(读写分离)

https://blog.csdn.net/u010814849/article/details/110688858

 

https://blog.csdn.net/wpeishi/article/details/80508179

read lock(读锁):也叫共享锁,允许所有的读操作,但阻塞写操作,即所有连接只可以读数据,但不允许写数据。
write lock(写锁):也叫排它锁、独占锁,只允许当前连接的读和写,不允许其他并发的读操作和写操作。
锁定主服务器的数据库后,我们在从服务器中,也创建一个数据库test,并将所有的表(包括表结构和表数据)都导入。

 

https://segmentfault.com/a/1190000023775512

 

 

 

 

 

 

 

 

2.安装命令行详细步骤

https://blog.csdn.net/u010814849/article/details/110688858

管理员身份打开命令行cmd 否则可能因为权限不足报错

具体步骤如下

2.1.主库Master

管理员权限打开控制台cmd,在mysql解压目录bin下执行以下命令:

 

 

2.1.1 初始化:

mysqld --initialize --console

控制台输出初始化root密码 (用slave做的演示)

2.1.2 注册服务

mysqld --install MysqlMaster --defaults-file="F:\dongdong\0tool\mysql\mysql-5.7.35-winx64-master-3309\my.ini"

2.1.3 启动服务

启动和停止服务可以使用如下命令行,也可以通过windows服务管理页面启动和关闭

net start MysqlMaster

 

 

 

2.1.4 连接mysql

密码在初始化的时候控制台会输出  xxx修改成临时密码

mysql -uroot -P3309 -pxxxx

2.1.5 修改密码

alter user 'root'@'localhost' identified by 'admin';

以后新的登陆

 

 

刷新权限:

flush privileges;

创建用于同步的用户账号

也可以不创建,使用root,但是网上其他帖子说建议单独创建账号,我这里也没有多深究,就单独创建吧

create user 'dongdong'@'%' identified by 'admin';

grant replication slave on *.* to 'dongdong'@'%' identified by 'admin';

flush privileges;

查看主库状态

show master status;

 

 

 

 

客户端

管理员权限打开控制台cmd,在mysql解压目录bin下执行以下命令:

 

 

 

 

 

3.1 初始化:
mysqld --initialize --console

 

 

 


3.2 注册服务 替换自己的路径
mysqld --install MysqlSlave --defaults-file="F:\dongdong\0tool\mysql\mysql-5.7.35-winx64-slave-3310\my.ini"

 

 

 


3.3 启动服务
net start MysqlSlave

 

 

 

停止服务

net stop MysqlMaster

  


3.4 连接mysql  xxx替换成临时密码
mysql -uroot -P3310 -pxxx

 

 以后修改密码后

 mysql -uroot -P3310 -padmin

 

 


3.5 修改密码:
alter user 'root'@'localhost' identified by 'admin';

 

 

 

刷新权限
flush privileges;

 

 

 


3.6 创建用于同步的用户账号:
create user 'dongdong'@'%' identified by 'admin';

 

 

 

flush privileges;

 

 

 


3.7 查看从库状态
show slave status;

4.准备开启主从同步

4.1 查看master和slave各自目录 xxx/data/auto.cnf

如果两个文件一致,则修改slave从库的auto.cnf 使得两个库的值不一致

 

 

 

 

4.2设置从库从哪里同步即设置master

 

change master to master_host='localhost',master_port=3309,master_user='dongdong',master_password='admin',master_log_file='master-bin.000002',master_log_pos=2073;

参数详解:

master_host: 主服务器的IP
master_user: 主服务器上新创建的用户名
master_password: 用户的密码
master_port: 主服务器的端口,如果未曾修改,默认即可。
master_log_file:主服务器二进制日志文件的名称,填写查看主服务器的master状态时显示的File值
master_log_pos:同步位置

 

 

4.3 开始主从同步

start slave;

stop slave;

或者任务管理器打开或者关闭

4.4 检查同步状态

show slave status\G

注意,主从同步成功的标志:
IO线程和SQL线程都是成功运行的:

Slave_IO_Running: Yes Slave_SQL_Running: Yes

 

 以上完成即表示OK
现在可以使用进行测试,master的操作都会同步到从库

 

5.操作详细步骤截图

5.1 master

 

 少了一步运行  start master;

5.2 slave

 

 

 

posted on 2021-09-04 09:55  MKT-porter  阅读(88)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3