mysql主从服务器
项目服务器框架
MySQL主从复制
- 什么是主从服务器?
- 主从复制又叫AB复制,
- 两台服务器做了主从后,A写入数据,B也会跟着写数据。
- 主从基于binlog的,主上需开启binlog进行主从
- 主从过程
- 主将更改记录到bin-log中
- 主 二进制日志(binnary log)
- 从 中继日志(relay log)
- 中继 :zhōngjì 处在两条线路之间、把两条线路连接起来的中继站
- 从库发起连接,连接到主库
- 主库,创建log dump(日志转储)线程,把bin-log 内容发送到从库中
- dump转储:就是将动态(易失)的数据,保存为静态的数据(持久数据),如把某一刻的内容,dump成文件
- 从库,创建IO线程,把主库传来的bin-log内容写入到relay-log中
- 从库,创建SQL线程,执行relay-log中的内容同步到DB中
- 主将更改记录到bin-log中
- 主从复制的作用?
- 热备份,从库作为备份数据库,主库出现问题后可以切换到从库继续工作
- 拓展:热备份(也称为动态备份或在线备份),这种技术可以在系统正常运行时进行备份,并且可以备份正在使用或编辑的数据库
- 冷备份,是对数据库进行脱机备份,在备份过程中用户无法访问数据库,但冷备份速度更快更安全。
- 读写分离,均衡数据库负载
- 热备份,从库作为备份数据库,主库出现问题后可以切换到从库继续工作
- 主从复制后主服务器挂了怎么办
- 将从数据库提升位主库
- 登录所有的从库,查看master.info文件,对比选择pos最大的作为新的主库
- 主从形式
docker搭建主从mysql
- 相关连接
- 1.springboot多数据源配合docker部署mysql主从实现读写分离效果
- 2.史上最详细Docker部署Mysql主从复制,带每一步骤图!!!
- 3.docker 安装mysql 主从复制
- 4.docker 安装mysql并开启远程访问权限
- 搭建
- 启动主机mysql
-
docker run -d -p 3306:3306
-e MYSQL_ROOT_PASSWORD=tsbx8888
-e MYSQL_ROOT_HOST=%
--name mysql-master
-v /home/mysql-master/data:/var/lib/mysql
-v /home/mysql-master/conf/my.cnf:/etc/mysql/my.cnf
-v /home/mysql-master/mysql-files:/var/lib/mysql-files/
-v /home/mysql-master/logs:/var/log/mysql mysql:8.0.22 - 命令解释
- -d:后台运行
- -p: (宿主机:容器) 将容器端口映射到宿主主机端口
- -name: 将容器命名为 mysql-master
- -v: 将配置文件挂载到宿主机
- -e MYSQL_ROOT_HOST=% 这个选项就是用来设置允许远程访问的。
- --restart=always 表示此容器开机启动,只要docker也设置了开机自启,docker不死
- -v /etc/localtime:/etc/localtime 容器时间与宿主机同步
- --privileged=true 挂载文件权限设置
- 相关命令
- docker ps -a #查看全部的容器(运行的加未运行的)
- docker exec -it 容器ip前两位 bash #进入容器
-
-
启动从机mysql
-
docker run -d -p 3307:3306
-e MYSQL_ROOT_PASSWORD=tsbx8888
-e MYSQL_ROOT_HOST=%
--name mysql-slave -v /home/mysql-slave/data:/var/lib/mysql -v /home/mysql-slave/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql-slave/mysql-files:/var/lib/mysql-files/ -v /home/mysql-slave/logs:/var/log/mysql mysql:8.0.22
-
-
- 启动主机mysql
Springboot配置主从myql
- 相关连接
- 实现的效果,主从搭建完毕,从主库中进行读写,从库实现热备(代码未改动连接主库)
| Arabic | Hebrew | Polish |
| Bulgarian | Hindi | Portuguese |
| Catalan | Hmong Daw | Romanian |
| Chinese Simplified | Hungarian | Russian |
| Chinese Traditional | Indonesian | Slovak |
| Czech | Italian | Slovenian |
| Danish | Japanese | Spanish |
| Dutch | Klingon | Swedish |
| English | Korean | Thai |
| Estonian | Latvian | Turkish |
| Finnish | Lithuanian | Ukrainian |
| French | Malay | Urdu |
| German | Maltese | Vietnamese |
| Greek | Norwegian | Welsh |
| Haitian Creole | Persian |
- 中文(简体)
- 中文(繁体)
- 丹麦语
- 乌克兰语
- 乌尔都语
- 亚美尼亚语
- 俄语
- 保加利亚语
- 克罗地亚语
- 冰岛语
- 加泰罗尼亚语
- 匈牙利语
- 卡纳达语
- 印地语
- 印尼语
- 古吉拉特语
- 哈萨克语
- 土耳其语
- 威尔士语
- 孟加拉语
- 尼泊尔语
- 布尔语(南非荷兰语)
- 希伯来语
- 希腊语
- 库尔德语
- 德语
- 意大利语
- 拉脱维亚语
- 挪威语
- 捷克语
- 斯洛伐克语
- 斯洛文尼亚语
- 旁遮普语
- 日语
- 普什图语
- 毛利语
- 法语
- 波兰语
- 波斯语
- 泰卢固语
- 泰米尔语
- 泰语
- 海地克里奥尔语
- 爱沙尼亚语
- 瑞典语
- 立陶宛语
- 缅甸语
- 罗马尼亚语
- 老挝语
- 芬兰语
- 英语
- 荷兰语
- 萨摩亚语
- 葡萄牙语
- 西班牙语
- 越南语
- 阿塞拜疆语
- 阿姆哈拉语
- 阿尔巴尼亚语
- 阿拉伯语
- 韩语
- 马尔加什语
- 马拉地语
- 马拉雅拉姆语
- 马来语
- 马耳他语
- 高棉语