这是松哥之前一个零散的笔记,整理出来分享给大伙!
MySQL 读写分离在互联网项目中应该算是一个非常常见的需求了。受困于 Linux 和 MySQL 版本问题,很多人经常会搭建失败,今天松哥就给大伙举一个成功的例子,后面有时间再和大家分享下使用 Docker 搭建环境,那样就 100% 成功了。
自己玩 Linux 松哥一般首选 Ubuntu,不过公司里边使用一般还是 CentOS 为主,因此这里松哥就以 CentOS 为例来向大家演示整个过程,今天这篇文章主要来看看 MySQL 的安装。
环境:
具体的安装步骤如下:
yum list installed | grep mariadb
如果执行结果如下,表示已经安装了 mariadb,将之卸载:
mariadb-libs.x86_64 1:5.5.52-1.el7 @anaconda
卸载命令如下:
yum -y remove mariadb*
如果 CentOS 上没有 wget 命令,首先通过如下命令安装 wget:
yum install wget
然后执行如下操作下载 rpm 包:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
执行结果如下表示安装成功:
yum install mysql-server
systemctl start mysqld.service
systemctl stop mysqld.service
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 即可。
systemctl stop firewalld.service
禁止firewall开机启动:
systemctl disable firewalld.service
装了这么多 MySQL ,还是 Ubuntu 下 MySQL 最好弄,其他系统多多少少总有点麻烦,本文主要和大家分享了 CentOS7 中 MySQL 的安装步骤,大伙有问题欢迎留言讨论。下篇文章和大伙分享 MySQL 读写分离环境搭建。