1、查看系统自带或之前安装的 mariadb。
rpm -qa | grep mariadb
2、卸载它们
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
3、再看一下之前有没有安装过mysql
rpm -qa | grep mysql
如果没有这里不会有任何的返回,如果有则会返回安装的mysql。这里的mysql如果是我们需要安装的那下面的不用看了,直接使用即可。但!如果不是,让我们愉快的卸载它。
rpm -e --nodeps 上面命令列出的mysql
1、下载rpm源
2、安装rpm源
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
3、检查安装是否成功
yum repolist enabled | grep "mysql.*-community.*"
运行该命令即可看到mysql相关的资源:
MySQL默认安装的是当前最新版本,若不是我们需要的版本,则需要进行切换。
1、查看当前源中所有的MySQL版本
yum repolist all | grep mysql
运行该命令应该看到类似下面的界面
2、将 MySQL 8.0 切换为 MySQL 5.7
yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
3、检查切换结果
yum repolist enabled | grep mysql
应该看到一下类似界面:
1、运行命令
sudo yum install mysql-community-server
该命令结束应该看到下面界面,然后输入 “Y” 确定安装。
该命令会安装MySQL服务器 (mysql-community-server)
及其所需的依赖、相关组件,包括mysql-community-client、mysql-community-common、mysql-community-libs等
网速不够下载会很久,像这样 20kb/s 有点顶不住
这里有一个可能遇到的错误:
sudo yum install mysql-community-server
仍然会报错:
这种错误一般是因为没有单独的签名造成的,我们继续运行下面的代码直接从 URL 加载密钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
之后再次进行安装
sudo yum install mysql-community-server
安装成功
2、启动 MySQL 服务
systemctl start mysqld.service
3、查看MySQL服务状态
systemctl status mysqld.service
可以看到以下界面
ok,到此MySQL安装完成。
安装完MySQL后,我们还要对其进行必要的设置,这些设置有助于我们更好的进行使用数据库。
MySQL 首次启动会创建超级管理员账号,初始的密码保存在 /var/log/mysqld.log
文件中。
1、修改密码
sudo grep 'temporary password' /var/log/mysqld.log
该命令会显示以下界面
最后的内容是我们的初始账号和密码:
账号:root
密码:wK?C6gnckepd
好了,这个密码太复杂了,我记不住。下面我们修改它~
mysql -uroot -p
#输入那个复杂的密码 我这里是wK?C6gnckepd
ok,我们这个时候进入到了MySQL的客户端,看到了我们熟悉的界面
输入修改密码的代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
出现提示:Your password does not satisfy the current policy requirements
what?嫌我密码太简单?我们修改 /etc/my.cnf 文件,添加validate_password=OFF。(测试环境使用,生产环境建议使用默认的密码格式,密码不宜太过简单)
vim /etc/my.cnf
#添加 validate_password=OFF 进文件,保存退出
修改配置文件后,重启MySQL
sudo systemctl restart mysqld.service
再次修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
这次没有任何意外,修改成功
初次安装后,我们的root账户仅支持本地访问,相信细心的人已经发现了,我们的默认账户是 root@localhost。
现在我们要允许它可以远程访问,输入以下代码(生产环境不建议设置root可远程访问)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#刷新权限
FLUSH PRIVILEGES;
ok,界面如下:
systemctl enable mysqld
systemctl daemon-reload