YUM 部署
8.0 修改密码的加密方式已经改变了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your password'
1、安装 YUM 仓库文件
打开网址: https://dev.mysql.com/downloads/repo/yum/
或者右键后 点击 复制链接地址
, 之后使用 rpm -ivh
进行安装
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
3、 选择具体的版本
5.5 5.6 5.7 8.0
// 安装 YUM 管理工具包,此包提供了 yum-config-manager 命令工具
yum install yum-utils
// 禁用 8.0
yum-config-manager --disable mysql80-community
// 启用 5.7
yum-config-manager --enable mysql57-community
确认启用的 MySQL 仓库
yum repolist enabled | grep mysql
4、 开始安装 MySQL
yum install -y mysql-community-server
5、设置默认字符编码
/etc/my.cnf
文件中设置
[mysqld]
# 服务器端的字符集
character-set-server = utf8
# 服务器端的排序规则
collation-server = utf8_unicode_ci
以后只要是创建数据库就会使用这里默认的字符编码了
6、 管理 MySQL 服务
// 启动
systemctl start mysqld.service
// 查看状态
systemctl status mysqld.service
// 开机自启动
systemctl enable mysqld
// 查看监听端口,默认 3306
ss -natl |grep 3306
7、 初始化 Mysql
MySQL服务器初始化(从MySQL 5.7开始):
在 MySQL 服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:
MySQL 服务器已初始化。
在数据目录中生成SSL证书和密钥文件。
安装并启用该 validate_password 插件。
将创建一个超级用户 帐户
'root'@'localhost'
。并会设置超级用户的密码,将其存储在错误日志文件中。要显示它,请使用以下命令:
grep 'temporary password' /var/log/mysqld.log
密码如图中红框中
修改初始密码
数据库初始化成功后,必须修改 root
的初始密码
方式一:
登录:
shell> mysql -uroot -p'找到的初始密码'
第一次登录到数据库后,必须修改密码。
修改密码:
mysql>alter user root@localhost identified by 'QFedu123!';
注意:
MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。
8、关于密码
取消密码复杂度
编辑 my.cnf
配置文件, 在 [mysqld]
配置块儿中添加如下内容
plugin-load=validate_password.so
validate-password=OFF
保存退出后,重启服务, 修改密码。
不使用密码
适用于忘记密码的场景
修改 my.cnf
文件,添加如下内容,之后重启服务
[mysqld]
skip-grant-tables=true
忘记密码
// 停止 mysql 服务
systemctl stop mysqld
// 启动免授权服务端
# 在 /etc/my.cnf 配置文件中添加如下配置项,并重启服务
skip-grant-tables=1
# 启动服务
systemctl start mysqld
# 在服务端本地执行 mysql, 通过本地连接数据库,bash 中输入如下命令
mysql
# 修改用户的密码
mysql> update mysql.user set authentication_string=PASSWORD('123') where user='root' and host='localhost';
# 修改配置文件,去掉skip-grant-tables=1 或者注释此行
# skip-grant-tables=1
// 再次重启服务
shell> systemctl restart mysqld
查看密码表中的内容,在 MySQL 会话终端中输入如下命令
mysql> select * from mysql.user\G