CentOS yum

先检查系统是否安装过​​Mysql​​:

yum list installed | grep mysql

博主之前是有安装过的,需要先把这些​​remove​​掉,才能开始安装。

Mysql 8 - CentOS yum & Docker安装Mysql 8_mysql


根据自己安装的​​Mysql​​版本包名来执行下面这条命令。

yum remove -y mysql-community-client.x86_64 mysql-community-client-plugins.x86_64 mysql-community-common.x86_64 mysql-community-libs.x86_64 mysql-community-server.x86_64 mysql80-community-release.noarch

Mysql 8 - CentOS yum & Docker安装Mysql 8_mysql_02


已经​​remove​​掉了。

删除​​Mysql​​​的配置文件,卸载不会自动删除配置文件,使用如下命令查找出文件名包含​​mysql​​的所有文件:

find / -name mysql

Mysql 8 - CentOS yum & Docker安装Mysql 8_docker_03


删除​​Mysql​​的配置文件:

rm -rf /var/lib/mysql

现在可以开始安装了。

选择适合自己操作系统的版本(不需要下载文件,只复制​​rpm​​​文件名即可,如​​mysql80-community-release-el7-3.noarch.rpm​​)。

Mysql 8 - CentOS yum & Docker安装Mysql 8_mysql_04

要安装​​MySQL​​​,首先需要添加​​Mysql​​​的​​repo​​​,通过下面这条命令(​​http://dev.mysql.com/get/​​​拼接​​rpm​​文件名):

rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

Mysql 8 - CentOS yum & Docker安装Mysql 8_修改密码_05


会有两个新的​​repo​​生成。

接下来,执行下面这两条命令:

yum clean all
yum makecache

安装​​Mysql​​:

yum install -y mysql-community-server

Mysql 8 - CentOS yum & Docker安装Mysql 8_mysql_06


等待安装完。

开启​​Mysql​​服务:

systemctl start mysqld.service

设置开机自启动:

systemctl enable mysqld.service

查看​​Mysql​​服务的状态:

systemctl status mysqld.service

Mysql 8 - CentOS yum & Docker安装Mysql 8_centos_07


很明显启动成功了。

#启动
systemctl start mysqld.service

#停止
systemctl stop mysqld.service

#重启
systemctl restart mysqld.service

#开机自启
systemctl enable mysqld.service

#查看状态
systemctl status mysqld.service

获取初始密码,用来登录​​Mysql​​。

​Mysql​​​在安装后会创建一个​​root@localhost​​​账户(​​localhost​​​表示这个账号只能本地使用),并且把初始密码放到了​​/var/log/mysqld.log​​文件中。

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

Mysql 8 - CentOS yum & Docker安装Mysql 8_修改密码_08


最后一条就是密码​​KMDTsC(5VIx0​​。

登录​​Mysql​​:

mysql -uroot -p

复制、粘贴密码。

Mysql 8 - CentOS yum & Docker安装Mysql 8_centos_09


还需要修改密码,​​Mysql 8​​​的密码必须满足长度要求(最短长度默认是​​8​​位),且必须含有数字、小写或大写字母、特殊字符。可以通过修改密码最短长度和密码的策略来改变默认配置。

set global validate_password.policy=0;
set global validate_password.length=4;

​validate_password.policy​​​中​​0​​​代表​​low​​​、​​1​​​代表​​medium​​​、​​2​​​代表​​strong​​,是密码的强弱等级,想要成功运行这两条命令,需要先修改密码(不然会报错,如下图所示),因此只能先修改一个符合默认规则的密码,再执行这两条命令,之后再修改成满足新规则的密码即可。

Mysql 8 - CentOS yum & Docker安装Mysql 8_docker_10

修改密码(博主还是比较喜欢设置复杂一点的密码):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'ITkaven@666.com';

Mysql 8 - CentOS yum & Docker安装Mysql 8_docker_11


下次登录就可以使用这个密码了。

Docker

云原生可以更好发挥云的部署方便、弹性伸缩、共享、按需使用、高可用等等优势,而容器技术在云原生中使用非常广泛,当然还包括容器编排等等技术。

推荐:

  • ​​Docker汇总​​

阅读这些博客可以基本了解一下​​Docker​​​。先得安装好了​​Docker​​。

  • ​​CentOS7.3安装Docker​​

安装好了​​Docker​​​后,安装​​Mysql 8​​​会很方便。先拉取​​Mysql 8​​的镜像。

docker pull mysql:8

我之前有拉取过,这里显示的比较简单。

Mysql 8 - CentOS yum & Docker安装Mysql 8_mysql_12


查看拉取的镜像。

docker images

Mysql 8 - CentOS yum & Docker安装Mysql 8_centos_13


基于拉取的镜像(​​mysql:8​​​)创建并运行容器​​--name mysql-kaven​​​,端口映射(​​-p 8849:3306​​​),配置信息(​​-e MYSQL_ROOT_PASSWORD=ITkaven@666.com​​,其实就是设置密码)。

docker run --name mysql-kaven -p 8849:3306 -e MYSQL_ROOT_PASSWORD=ITkaven@666.com -d mysql:8
  • ​--name​​:给新创建的容器命名。
  • ​-e​​​:配置信息,此处配置​​mysql​​​的​​root​​用户登陆密码。
  • ​-p​​​:端口映射,此处映射主机​​8849​​​端口到容器的​​3306​​端口。
  • ​-d​​​:成功启动容器后输出容器的完整​​ID​​。
  • 最后一个​​mysql:8​​​指的是​​Mysql​​​的​​Docker​​镜像名字。

Mysql 8 - CentOS yum & Docker安装Mysql 8_修改密码_14


查看容器是否运行成功。

docker ps

Mysql 8 - CentOS yum & Docker安装Mysql 8_mysql_15


状态为​​UP​​,说明正在运行。

连接容器中的​​Mysql​​:

mysql -u root -h 127.0.0.1 -P 8849 -p

Mysql 8 - CentOS yum & Docker安装Mysql 8_docker_16


到这里就结束啦,使用​​Docker​​​还是比较方便的,更容易进行扩展,比如在单机上搭建一个​​Mysql​​​集群,只需要多创建几个容器再稍微配置一下即可,推荐大家去了解一下容器编排技术,比如​​Kubernetes​​。