这是小编之前一个零散的笔记,整理出来分享给大伙!
MySQL 读写分离在互联网项目中应该算是一个非常常见的需求了 。受困于 linux 和 MySQL 版本问题,很多人经常会搭建失败,今天松哥就给大伙举一个成功的例子,后面有时间再和大家分享下使用 Docker 搭建环境,那样就 100% 成功了 。
centos 安装 MySQL自己玩 Linux 松哥一般首选 Ubuntu,不过公司里边使用一般还是 CentOS 为主,因此这里松哥就以 CentOS 为例来向大家演示整个过程,今天这篇文章主要来看看 MySQL 的安装 。
环境:
- CentOS7
- MySQL5.7
- 检查是否安装了 mariadb,如果已经安装了则卸载:
mariadb-libs.x86_64 1:5.5.52-1.el7 @anaconda卸载命令如下:
yum -y remove mariadb*
- 接下来下载官方提供的 rpm 包
yum install wget然后执行如下操作下载 rpm 包:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- 下载完成后,安装rpm包:
- 检查 MySQL 的 yum 源是否安装成功:
文章插图
- 安装 MySQL
- 安装完成后,启动MySQL:
- 停止MySQL:
- 登录 MySQL:
- 改密码
set global validate_password_policy=0;然后重置密码:
set password=password("123"); flush privileges;
- 授权远程登录同方式一:
- 授权远程登录同方式二:
- 关闭防火墙
- MySQL 要能远程访问,还需要关闭防火墙:
systemctl disable firewalld.service主从搭建准备工作我这里有一张简单的图向大伙展示 MySQL 主从的工作方式:
文章插图
这里,我们准备两台机器:
- 主机:192.168.248.128
- 从机:192.168.248.139
1.授权给从机服务器
GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.248.139' identified by '123';FLUSH PRIVILEGES;这里表示配置从机登录用户名为 rep1,密码为 123,并且必须从 192.168.248.139这个地址登录,登录成功之后可以操作任意库中的任意表 。其中,如果不需要限制登录地址,可以将 IP 地址更换为一个 % 。
2.修改主库配置文件,开启 binlog,并设置 server-id,每次修改配置文件后都要重启 MySQL 服务才会生效
vi /etc/my.cnf修改的文件内容如下:
[mysqld]log-bin=/var/lib/mysql/binlogserver-id=128binlog-do-db = cmdb如下图:
文章插图
- log-bin:同步的日志路径及文件名,一定注意这个目录要是 MySQL 有权限写入的(我这里是偷懒了,直接放在了下面那个datadir下面) 。
- binlog-do-db:要同步的数据库名,当从机连上主机后,只有这里配置的数据库才会被同步,其他的不会被同步 。
- server-id: MySQL 在主从环境下的唯一标志符,给个任意数字,注意不能和从机重复 。
systemctl restart mysqld3.查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复:
推荐阅读
- C#串口操作类,包括串口读写操作
- mysql和postgresql时间戳设置
- 21分钟 MySQL 入门教程
- 两款免费的MySQL性能监控工具
- VUE前后分离调起微信支付
- MySQL基本使用
- MySQL:常用的30种SQL查询语句优化方法
- Mysql中的数据分组和子查询
- mysql开发理论:搞懂什么是长连接,短连接和连接池
- 在Python中使用Pandas库实现MySQL数据库的读写