在CentOS 7上通过yum安装MySQL是一个相对简单的过程,以下是详细步骤和注意事项:
检查是否已安装MySQL
在开始之前,需要先检查系统中是否已经安装了MySQL或其分支MariaDB,可以通过以下命令查看:
rpm qa | grep mysql rpm qa | grep mariabd
如果发现已安装的MySQL版本,可以使用以下命令进行卸载,注意不检查依赖关系:
rpm e nodeps mysqlcommunitylibscompat rpm e nodeps mysqlcommunityclientplugins rpm e nodeps mysqlcommunitylibs rpm e nodeps mysqlcommunityserver rpm e nodeps mysqlcommunityclient rpm e nodeps mysqlcommunitycommon rpm e nodeps mysql80communityreleaseel78.noarch rpm e nodeps mysqlcommunityicudatafiles
修改YUM源为阿里云
为了加快下载速度,可以将YUM源修改为阿里云镜像:
1、备份原始YUM源文件:
mv /etc/yum.repos.d/CentOSBase.repo /etc/yum.repos.d/CentOSBase.repo.bak
2、下载并替换为阿里云的YUM源文件:
wget O /etc/yum.repos.d/CentOSBase.repo http://mirrors.aliyun.com/repo/Centos7.repo
3、清理YUM缓存并更新软件包:
yum clean all yum makecache yum update y
添加MySQL YUM仓库并安装
CentOS 7默认的软件仓库中并不包含MySQL社区版,因此需要添加MySQL官方提供的YUM仓库,具体步骤如下:
1、下载MySQL官方的YUM Repository:
wget https://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm
2、安装下载的YUM Repository:
rpm ivh mysql80communityreleaseel73.noarch.rpm
3、更新YUM缓存:
yum makecache
4、安装MySQL服务器:
yum install y mysqlcommunityserver
启动MySQL服务并设置密码
1、启动MySQL服务:
systemctl start mysqld
2、查看MySQL服务状态:
systemctl status mysqld
3、获取临时密码:
grep "password" /var/log/mysqld.log
注意,由于特殊字符的存在,直接复制密码可能会出错,需要进行转义处理。
4、登录MySQL并修改密码:
使用获取到的临时密码登录MySQL:
mysql u root p
输入临时密码后,可以执行以下命令修改密码(将MyNewPass4!
替换为你的新密码):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意,MySQL默认的密码策略要求密码必须包含大小写字母、数字和特殊符号,并且长度不能少于8位,如果不满足这些要求,可以使用以下命令调整密码策略:
SHOW VARIABLES LIKE 'validate_password%'; SET GLOBAL validate_password.policy=LOW; SET GLOBAL validate_password.length=6;
配置远程访问权限
默认情况下,MySQL只允许本地访问,如果需要允许远程访问,可以执行以下SQL命令:
use mysql; update user set host = '%' where user = 'root'; flush privileges;
这将允许任何IP地址的主机访问MySQL服务器。
FAQs
1、问题:为什么在安装MySQL时提示“Error: Package(s) not found”?
答案:这通常是因为YUM源没有正确配置或更新,请确保已经按照上述步骤添加了MySQL官方的YUM仓库,并更新了YUM缓存,如果问题仍然存在,可以尝试更换其他YUM源或检查网络连接是否正常。
2、问题:如何卸载已经安装的MySQL?
答案:可以使用以下命令卸载MySQL及其相关组件:
yum remove y mysqlcommunityserver mysqlcommunityclient mysqlcommunitycommon mysqlcommunitylibs mysqlcommunityclientplugins
这将卸载MySQL服务器、客户端、通用库和插件。