centos 7.x 安装/卸载MySQL

centos 7.x 安装/卸载MySQL

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

一、安装必要的依赖组件

运行以下命令:linux

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

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

二、下载 YUM Repository

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

也能够直接在服务器上使用wget命令下载,好比:shell

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

文件体积很是小,很快就能下载完成。vim

三、选择MySQL版本

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

因此,若是你正好须要MySQL8.0版本,那么这个小节能够略过。不然,须要选择所安装的MySQL版本。bash

centos7默认是没有MySQL相关的repository,因此须要咱们手动将刚刚下载好的repository加入到系统中去。服务器

运行以下命令便可:运维

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

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

yum repolist all | grep mysql

repolist

以上,能够看到全部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

四、安装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

五、初始化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的权限,防止“悲剧”发生。

六、卸载MySQL

官方并未给出MySQL的卸载过程,可是能够类比Windows操做系统。在Windows上卸载软件是一件很容易的事情,在centos上也能够用相似的思惟模式,只不过安装程序不一样罢了。Windows能够更为自动化,而linux上还须要不少手动操做才行。

本小节内容并不是标准操做,可能致使卸载失败,请读者自行甄别。

先把mysql服务中止:

systemctl stop mysqld.service

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

yum list installed | grep mysql

list installed

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

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卸载了。

相关文章
相关标签/搜索