作者简介
马听,多年 DBA 实战经验,对 MySQL、 Redis、ClickHouse 等数据库有一定了解,专栏《一线数据库工程师带你深入理解 MySQL》、《Redis 运维实战》作者。
从今天开始,悦专栏将出几期 MySQL 基础内容。
这一节,我们先从 MySQL 8.0 最新小版本的安装开始。
实验环境 CentOS 7.4
1 下载安装官方 yum repository
首先下载 MySQL 8.0 官方 yum repository
代码语言:javascript复制[root@node1 ~]# wget -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
安装 MySQL 8.0 的 yum repository
代码语言:javascript复制[root@node1 ~]# yum install -y mysql80-community-release-el7-3.noarch.rpm
注意 [root@node1 ~]# 这一部分为主机信息和所在路径信息 yum install mysql80-community-release-el7-3.noarch.rpm 为要执行的命令,后面涉及到操作系统的命令也类似。
2 安装 MySQL
通过 yum 安装 MySQL
代码语言:javascript复制[root@node1 ~]# yum install -y mysql-community-server
查看是否安装成功
代码语言:javascript复制[root@node1 ~]# rpm -qa|grep mysql
mysql-community-client-plugins-8.0.22-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-common-8.0.22-1.el7.x86_64
mysql-community-libs-8.0.22-1.el7.x86_64
mysql-community-libs-compat-8.0.22-1.el7.x86_64
mysql-community-server-8.0.22-1.el7.x86_64
mysql-community-client-8.0.22-1.el7.x86_64
3 启动 MySQL
启动 MySQL 服务
代码语言:javascript复制[root@node1 ~]# systemctl start mysqld
确定 MySQL 进程是否存在
代码语言:javascript复制[root@node3 ~]# ps -ef|grep mysql|grep -v grep
mysql 3266 1 0 10:47 ? 00:00:12 /usr/sbin/mysqld
4 查看临时密码
在 MySQL 日志中过滤出 MySQL 临时密码
代码语言:javascript复制[root@node1 ~]# grep "password" /var/log/mysqld.log
2020-12-28T02:47:19.554564Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: CD9KyPZwEl?n
则临时密码为:CD9KyPZwEl?n
5 登录 MySQL
通过临时密码登录 MySQL
代码语言:javascript复制[root@node1 ~]# mysql -uroot -p'CD9KyPZwEl?n'
6 修改 root 密码
通过临时密码登录 MySQL 不能进行其他查询或者修改操作,因此需要先修改 root 密码:
代码语言:javascript复制mysql> alter user 'root'@'localhost' identified by 'Likecolumn@123';
注意 MySQL 8.0 默认情况下,密码长度需要大于或等于 8 个字符,必须有大小写,必须包含数字,至少包含 1 个特殊字符。密码规则详情可以参考官方文档:https://dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html
7 重新登录 MySQL
代码语言:javascript复制[root@node1 ~]# mysql -uroot -p'Likecolumn@123'
在 MySQL 中查看当前所有数据库:
代码语言:javascript复制mysql> show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| performance_schema |
| sys |
--------------------
4 rows in set (0.00 sec)