前几天做一个项目,部署环境时安装mysql8遇到了一些坑,记录分享一下安装过程。

1.安装前准备,卸载老版的mysql

对于全新的机器、或者未安装过的可以忽略这一步。安装过的一定要卸载干净。具体卸载步骤如下:

(1)彻底关闭mysql。可以先使用 ps -ef|grep mysql命令查看mysql是否在运行,可以直接通过 kill -9 进程号关闭。不过大多数情况下,自动安装的mysql会是系统服务,可以通过 service mysqld stop命令来关闭。执行完命令可以用ps -ef|grep mysql再检查一次。

(2)卸载安装的mysql。可以使用命令 rpm -qa|grep -i mysql来查看安装的包。然后将这些包依次删除,我这里是以下几个包,然后使用 rpm -ev 包名 –nodeps 命令依次删除所有的包(参数”–nodeps“,是不检查依赖的意思,不加容易出错)。比如:rpm -ev
mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64 –nodeps。

(3)删除mysql目录和文件夹。通过 find / -name mysql名称可以查找到所有mysql的目录,找到后,根据自己的情况全部删除。删除命令 rm -rf 路径。 最后删除自己的配置文件 my.cnf,系统默认的是 /etc/my.cnf

2.安装mysql。

安装之前可以通过yum list | grep mysql命令查看一下mysql版本。正常安装的话,执行 yum install -y mysql即可。安装完成后不要立即启动(切记),我就是直接启动了,害的又卸载重装了。

3.配置mysql。

在实际应用的场景中,通常对于数据表名,我们是不区分大小写的,然而mysql8的默认值是区分大小写的,并且初始化后无法修改。所以一定要先改配置文件。通过上面方式安装的默认配置文件一般在 /etc/my.cnf 通过vi my.cnf打开编辑(若没有,新建一个)。

在[mysqld]下添加lower_case_table_names=1。如下图。

4.启动数据库,配置相关账户和数据库。

通过service mysqld start启动服务,service mysqld stop是关闭服务名。之后通过。/usr/bin/mysqladmin -u root password ‘pass@2020word’.设置root初始密码,或者alter user ‘root’@’%’ identified by ‘key@202107’修改root初始密码,mysql8要求root 密码要有大小写字母、数字和特殊字符等混合。完成之后就可以通过 mysql -u root -p连接数据库,创建数据库、数据表了。