MySQL 读写分离在互联网项目中应该算是一个非常常见的需求了。受困于 Linux 和 MySQL 版本问题,很多人经常会搭建失败,今天松哥就给大伙举一个成功的例子,后面有时间再和大家分享下使用 Docker 搭建环境,那样就 100% 成功了。
CentOS 安装 MySQL
自己玩 Linux 松哥一般首选 Ubuntu,不过公司里边使用一般还是 CentOS 为主,因此这里松哥就以 CentOS 为例来向大家演示整个过程,今天这篇文章主要来看看 MySQL 的安装。
环境:
- CentOS7
- MySQL5.7
具体的安装步骤如下:
- 检查是否安装了 mariadb,如果已经安装了则卸载:
yum list installed | grep mariadb
如果执行结果如下,表示已经安装了 mariadb,将之卸载:
mariadb-libs.x86_64 1:5.5.52-1.el7 @anaconda
卸载命令如下:
yum -y remove mariadb*
- 接下来下载官方提供的 rpm 包
如果 CentOS 上没有 wget 命令,首先通过如下命令安装 wget:
yum install wget
然后执行如下操作下载 rpm 包:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- 下载完成后,安装rpm包:
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
- 检查 MySQL 的 yum 源是否安装成功:
yum repolist enabled | grep "mysql.*-community.*"
执行结果如下表示安装成功:
- 安装 MySQL
yum install mysql-server
- 安装完成后,启动MySQL:
systemctl start mysqld.service
- 停止MySQL:
systemctl stop mysqld.service
- 登录 MySQL:
mysql -u root -p
默认无密码。有的版本有默认密码,查看默认密码,首先去 /etc/my.cnf 目录下查看 MySQL 的日志位置,然后打开日志文件,可以看到日志中有一个提示,生成了一个临时的默认密码,使用这个密码登录,登录成功后修改密码即可。
- 改密码
首先修改密码策略(这一步不是必须的,如果不修改密码策略,需要取一个比较复杂的密码,这里简单起见,就修改下密码策略):
set global validate_password_policy=0;
然后重置密码:
set password=password("123"); flush privileges;
- 授权远程登录同方式一:
grant all privileges on *.* to 'root'@'%' identified by '123' with grant option; flush privileges;
- 授权远程登录同方式二:
修改 mysql 库中的 user 表,将 root 用户的 Host 字段的值改为 %
,然后重启 MySQL 即可。
- 关闭防火墙 MySQL 要能远程访问,还需要关闭防火墙:
systemctl stop firewalld.service
禁止firewall开机启动:
systemctl disable firewalld.service