乐趣区

centos-7x-安装卸载MySQL

centos 7.x 安装 / 卸载 MySQL

本篇是基于 YUM Repository 来安装 MySQL 的,具体方法在官网可寻,在此记录我的亲身安装过程。

1、安装必要的依赖组件

运行如下命令:

yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel

这个步骤不太容易出错,如果遇到了异常,请自行百度解决方法。

2、下载 YUM Repository

访问:https://dev.mysql.com/downloa…,选择合适的版本下载。

也可以直接在服务器上使用 wget 命令下载,比如:

 wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

文件体积非常小,很快就能下载完成。

3、选择 MySQL 版本

上述下载的 rpm 文件实质上是一个 bundle,涵盖了多个版本的 MySQL,以及一些基础组件,默认使用的是 MySQL8。

所以,如果你正好需要 MySQL8.0 版本,那么这个小节可以略过。否则,需要选择所安装的 MySQL 版本。

centos7 默认是没有 MySQL 相关的 repository,所以需要我们手动将刚刚下载好的 repository 加入到系统中去。

运行如下命令即可:

yum localinstall mysql80-community-release-el7-3.noarch.rpm

中途会让你确认,输入“y”即可。接下来运行如下命令来确认是否成功:

yum repolist all | grep mysql

以上,可以看到所有 MySQL 版本的启用状态,目前是 mysql80-community 处于 enabled 状态。假设要安装 MySQL5.7 版本,需要启用 mysql57-community,并且禁用 mysql80-community。

yum-config-manager --enable mysql57-community
yum-config-manager --disable mysql80-community

如果系统提示:

-bash: yum-config-manager: command not found

那就需要手动编辑:

vim /etc/yum.repos.d/mysql-community.repo

里面的内容简单易懂,根据自己的需求,改变 enabled 的值,其他内容不用改动。修改完成后,以防改错,可以运行如下命令来查看究竟启用了哪个版本的 MySQL:

yum repolist enabled | grep mysql

4、安装 MySQL 服务

运行命令:

yum install mysql-community-server

中间会有两次确认,都输入“y”即可。一切顺利,启动 MySQL 服务。

systemctl start mysqld.service

如果想看 MySQL 的运行状态,可以运行如下命令:

systemctl status mysqld.service

可能有读者想知道 MySQL 的安装目录,这里解释一下。

运行脚本:/usr/bin

mysqld 服务脚本:/usr/sbin

MySQL 数据目录:/var/lib/mysql

MySQL 日志文件:/var/log/mysqld.log

5、初始化 root 账户

至此,MySQL 服务安装成功了,但是还不知道 root 密码,需要重置。

但是,初次安装 MySQL,会自动生成一个临时密码,这个密码被写入在了日志文件中,运行命令查看:

cat /var/log/mysqld.log | grep 'temporary password'

知道初始密码后,必须马上修改。凭此临时密码,先登录:

mysql -u root -p

登录进去后,除了修改密码,其他的操作是不被允许的,所以先把新密码设置好:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

至此,root 密码被修改了,但是 root 账户还不能远程登录。
解决的办法有两个,其一是将 root 账户的 host 改为“%”,可以直接用以下的 UPDATE 语句:

UPDATE mysql.user SET host = '%' WHERE user='root';

其二,是新建一个账户,并给账户授权:

CREATE USER 'admin'@'%' IDENTIFIED BY 'new_password';
GRANT ALL ON *.* TO 'admin'@'%';

注意 :以上都需要最后运行一条命令才能生效:

FLUSH PRIVILEGES;

实际上,应该严禁直接使用 root 账户,仅限运维人员本地登录才是对的。所以,在实际工作中,可以更为精细化的管理 MySQL 的权限,防止“悲剧”发生。

6、卸载 MySQL

官方并未给出 MySQL 的卸载过程,但是可以类比 Windows 操作系统。在 Windows 上卸载软件是一件很容易的事情,在 centos 上也可以用类似的思维模式,只不过安装程序不同罢了。Windows 可以更为自动化,而 linux 上还需要很多手动操作才行。

本小节内容并非标准操作,可能导致卸载失败,请读者自行甄别。

先把 mysql 服务停止:

systemctl stop mysqld.service

上述安装过程中的 rpm 文件其实就相当于 Windows 上的 msi 安装文件,在 centos 上也可以管理已安装的软件,运行如下命令查看所安装的 MySQL:

yum list installed | grep mysql

出了最后一个安装文件,上面的都可以卸载,执行命令:

yum remove mysql-community-client mysql-community-common mysql-community-server mysql-community-libs mysql-community-libs-compat

最后,还要消灭 MySQL 的残留文件,先用命令查找出 MySQL 相关的文件:

whereis mysql

当然,find 命令也可以,这样的话就只能全盘扫描了。

find / -name mysql

将列出来的内容通过 rm 命令删除掉即可。

至此,就可以将整个 MySQL 卸载了。

退出移动版