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/
或者右键后 点击 复制链接地址
, 之后用 wget
命令下载
# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2、安装 YUM Repo 文件
# yum -y localinstall mysql80-community-release-el7-1.noarch.rpm
3、 选择具体的版本
5.5 5.6 5.7 8.0
// 查看 YUM 仓库关于 MySQL 的所有仓库列表
# yum repolist all | grep mysql
// 只查看启用的
# yum repolist enabled | grep mysql
// 安装 YUM 管理工具包,此包提供了 yum-config-manager 命令工具
# yum -y 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、 管理 MySQL 服务
// 启动
# systemctl start mysqld.service
// 查看状态
# systemctl status mysqld.service
// 开机自启动
# systemctl enable mysqld
// 查看监听端口,默认 3306
# ss -natl |grep 3306
关于字符编码的补充
/etc/my.cnf
文件中设置
// 设置默认字符集
[client]
# 其他客户端,比如 pymysql
default-character-set=utf8
[mysql]
# mysql 客户端
default-character-set=utf8
[mysqld]
# 服务器端的字符集
character-set-server = utf8
# 服务器端的排序规则
collation-server = utf8_unicode_ci
6、 初始化 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 'Adilczq123!';
方式二:
shell> mysqladmin -p'找到的初始密码' password 'Adilczq123!'
注意:
MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。
取消密码复杂度
编辑 my.cnf
配置文件, 在 [mysqld]
配置块儿中添加如下内容
plugin-load=validate_password.so
validate-password=OFF
保存退出后,重启服务, 修改密码。
不使用密码
跳过密码进行改密
修改 my.cnf
文件,添加如下内容,之后重启服务
skip-grant-tables=true
忘记密码
// 停止 mysql 服务
# systemctl stop mysqld
// 启动免授权服务端
# 在 /etc/my.cnf 配置文件中添加如下配置项,并重启服务
skip-grant-tables=1
# 在服务端本地执行 mysql, 通过本地连接数据库
shell> mysql
或者 shell > mysql -u root -p
按回车,输入密码也是按回车
# 修改用户的密码
注意:如果下面改密码失败,应该刷新一下权限,
mysql > flush privileges
mysql> update mysql.user set authentication_string=PASSWORD('Adilczq123!') where user='root' and host='localhost';
或者
mysql > alter user root@localhost identified by 'Adilczq123!';
// 再次重启服务
shell> systemctl restart mysqld
查看密码表中的内容,在 MySQL 会话终端中输入如下命令
mysql> select * from mysql.user\G
重新初始化mysql
1、停掉mysqld的服务
systemctl stop mysqld
2、删掉原来mysql的数据目录下的所有文件datadir=/var/lib/mysql
cd /var/lib/mysql/
rm -rf ./*
3、初始化mysql
mysqld --initialize --user=mysql
心得
YUM安装
安装之前要把mariadb的包以及相关包卸载
yum remove -y mariadb-*
1、先去官网下载YUM仓库文件
网址:mysql.org
使用wget 复制的链接获得yum的repo包放到
/etc/yum.repo.d/
文件夹下
编辑该文件设置想要的版本,将enabled设置为1
2. 安装repo的包
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum localinstall mysql80-community-release-el7-1.noarch.rpm
3.修改/etc/yum.repo.d/
的
选择想要的版本,将enable置为1
4.开始安装Mysql
yum install -y mysql-community-server
5. 管理 MySQL 服务
// 启动
# systemctl start mysqld.service
// 查看状态
# systemctl status mysqld.service
// 开机自启动
# systemctl enable mysqld
// 查看监听端口,默认 3306
# ss -natl |grep 3306
字符编码
/etc/my.cnf
文件中设置
// 设置默认字符集
[client]
# 其他客户端,比如 pymysql
default-character-set=utf8
[mysql]
# mysql 客户端
default-character-set=utf8
[mysqld]
# 服务器端的字符集
character-set-server = utf8
# 服务器端的排序规则
collation-server = utf8_unicode_ci
6.初始化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!';
方法二:
shell> mysqladmin -p'找到的初始密码' password 'QFedu123!'
MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。