一、前言
MySQL是一个可移植的数据库,几乎能在当前所有的操作系统上运行。本文重点讲解如何在Centos7上安装MySQL。在安装过程中,推荐始终以root用户的身份运行以减少操作的成本。
二、卸载不需要的环境
在你的Centos7系统中,可能已经预装有MySQL或者mariadb(MySQL的一个分支),并在后台以守护进程的方式运行。我们首先要停止这些服务,才能将原有的安装包删除。
- 使用
ps ajx
显示是否存在mysqld(mariada同理,后面不再赘述)
- 使用
systemctl stop
指令停止mysql服务
如果系统没有mysql,则这一步跳过
三、删除默认安装包
- 使用
rpm -qa | grep mysql
指令来显示系统中是否安装有mysql的软件包
- 如果有的话,则使用
rpm -qa | grep mysql | xargs yum -y remove
指令将全部的安装包删除。xargs指令的作用是将前面的数据一条一条“喂给”后面的指令,从而达到批量操作的目的。注意-y
不能省略,否则在批量处理时会出错 - 删完再检查确认已经完全删除了
如果系统中找不到mysql的安装包,则这一步直接跳过
四、获取mysql官方源
[目的]:最后能使用 yum install
指令一键安装
[问题]:云服务器中默认的yum源中可能没有mysql的源
[解决]:首先从官网手动拉取mysql的yum
源(注意不是下载mysql)
- 首先获取mysql的官方yum源 >yum源链接
- 右击查看网页源代码可以看到更多的文件细节
- 在安装时注意版本问题
-
选择名字中带有
el
字样的版本。el
指代 Enterprise Linux,是centos的简称
-
选择名字中带有 57 的版本,57表示mysql的版本为5.7,否则下载的是最新版的mysql
-
最好安装和自己系统一致的mysql版本,否则可能存在软件兼容性的问题。如果没有刚好合适的版本,我们的原则是选择比系统版本更新的mysql版本,一般都会向前兼容的
-
使用
cat /etc/redhat-release
指令查看当前centos的版本
-
选择适配操作系统版本mysql。下图中的都行
-
- 使用
rz
指令将本地下载好的mysql源上传到云服务器环境中
- 使用
rpm -ivh
指令来安装rpm软件包
至此我们已经完成了官方源的安装,再次查看yum源,发现多了两项。Linux下的安装本质就是将文件拷贝到特定路径下。
使用下面的指令来检查mysql的yum源是否正常工作:yum list | grep mysql
。如果能够筛选出mysql相关的软件包,则说明yum源工作正常
五、安装mysql服务
前面我们已经解决了mysql yum源的问题,现在我们使用yum指令就可以一键安装 yum install -y mysql-community-server
。虽然我们看似我们只安装了mysql-community-server,但是yum会自动处理依赖关系,mysql的客户端、组件、库等都会被自动安装。
- 常见错误:秘钥过期问题
使用下面的指令就可以重新激活秘钥:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
- 验证是否安装成功
六、设置免密登录
- 在mysql的配置文件中加上这样一句话就可以免密登录:
skip-grant-tables
。此时我们登录mysql就不需要密码了。如果之前已经启动服务了,那么使用指令systemctl restart mysqld
重启mysql,配置信息才会生效。 - 使用指令
systemctl start mysqld
指令启动mysql服务端(注意不是mysql) - 使用指令
mysql -uroot -p
以root用户的身份登录
七、配置文件修改
配置文件位于 /etc/my.cnf,主要是修改服务器默认的编码方式和存储引擎