一、清除原来的mysql环境
在前期建议使用root用户来进行操作,使用
su -
来切换成root用户,但是如果老是提示认证失败,那么有可能我们的root密码并没有被设置,
我们可以先设置root的密码
sudo passwd root然后就可以切换了。
我们使用
ps ajx | prep mysql来查看

我这里说明是没有的,如果有的话,我们要先关掉,才能卸载。
rpm是linux软件包管理工具,我们可以用
rpm -qa | grep mysql
来查看是否有mysql的安装包。如果有的话,可以先卸载掉。
另外,mariadb是mysql的另一个开源版本。
如果有,也可以删掉
sudo yum remove mariadb二、配置MySQL yum源
如果我们要下载mysql尽量下载与我们linux版本相近的版本
cat /etc/redhat-release
 
我这里是7.7
我们先mysql的官方yum源:
https://repo.mysql.com/我们推荐下载mysql5.7版本的。

进入这个官方的网站后,我们可以查看当前网页源码,然后开始查找,mysql后面跟的57就是5.7版本的,el7就是CentOS7,就下这个了。点一下就开始下载了,这个.rpm其实就是在linux下的安装包,里面包含的是mysql的yum源。
然后将其拷贝到linux上

我们可以先看看我们的本地yum源
ls /etc/yum.repos.d/ -al接着安装
rpm -ivh mysql57-community-release-el7.rpm
这个时候再查看yum源,就发现多了两个

还可以用以下命令来测试
yum list |grep mysql三、正式安装MySQL
到这里我们已经可以把安装包给删除了,虽然也可以不删。
现在我们可以用yum来一键安装MySQL了。
用
yum install -y mysql-community-server安装好,这里不仅仅只是安装MySQL,它还会安装各种组件包括客户端。
另外安装的时候有可能会报错,如果出现了密钥过期的问题,比如
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql我们可以执行
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022来导入一个比较新的密钥。然后再重新执行yum来安装。
接下来验证是否安装成功,我们执行
ls /etc/my.cnf
这就表示成功了。
或者还可以执行
 which mysqld
 
这样也没问题。 这是查看MySQL的服务端。
我们还可以来查看MySQL的客户端
which mysql
对比我们发现,服务器处在sbin目录中,表示超级用户才能启动的。
四、开始登录
第一次安装好,如果我们没有进行配置,可能会登录不上。
方法一:
在老的MySQL中,它可能会给我们生成临时的登录密码
grep 'temporary password' /var/log/mysqld.log但是新版本,包括我们的5.7都没有了。
所以不重点介绍。
方法二:
如果是最新的MySQL,root默认没有密码,我们可以直接登录,但是我们的版本5.7不行,所以也不多说了
方法三:
这是最通用的方法。先执行
vim /etc/my.cnf

我们直接在[mysqld]的最后加上
skip-grant-tables就可以了,记得保存。
修改了配置文件以后,我们要想让配置生效,得重启一下MySQL服务。
执行
systemctl start mysqld.service启动mysqld。
再执行
ps axj | grep mysql查看,发现已经启动好了。
使用
mysql -u root -p登录,因为是免密码的,所以我们直接回车登录。

这里可以使用一些简单的命令
show databases;输入
quit可以退出。
五、设置配置文件
比如如果我们想让mysql使用utf8的编码方式编码,需要先设置。
依旧是先打开
vim /etc/my.cnf我们可以设置端口号
port=3306在[mysqld]后面加上,它默认是3306,如果我们配置了,就按配置的来。
再来配置mysqld的编码格式
character-set-server=utf8同样加进去。
再设置一下默认的存储引擎
default-storage-engine=innodb
然后保存退出
同理,我们需要重启mysqld才能生效
systemctl restart mysqld这个指令可以不用先退出mysqld再启动,它可以直接重启。
我们可以用
netstat -nltp
来检查我们的mysqld,可以看看它的端口号。
六、设置开机自启(可选)
其实这个设不设置都无所谓,因为一般云服务器也不关机的。
执行两条指令
systemctl enable mysqldsystemctl daemon-reload