安装
1. 添加 MySQL 8.0 的官方 YUM 仓库
MySQL 8.0 没有默认包含在 CentOS 7 的官方仓库中,因此需要手动添加 MySQL 的官方仓库。
yum install wget -y
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
rpm -ivh mysql80-community-release-el7-11.noarch.rpm
可能会出现警告:mysql80-community-release-el8-1.noarch.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
解决方式
rpm --import /etc/pki/rpm-gpg/RPM*
如果不行,更换yum源,并更新
# 清空原缓存
yum clean all
# 创建新缓存
yum makecache
# 更新
yum update
# 导入密钥
rpm --import /etc/pki/rpm-gpg/RPM*
2. 安装 MySQL 8.0
yum install -y mysql-community-server
3. 启动 MySQL 服务并设置为开机启动
systemctl start mysqld
systemctl enable mysqld
4. 获取 MySQL 的临时 root 密码
在安装 MySQL 后,默认会生成一个随机的 root 密码,可以通过以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
5. 执行 MySQL 安全设置脚本
使用临时密码登录 MySQL 并执行安全设置脚本来配置 MySQL:
mysql -u root -p
输入刚才获取的临时密码后,执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'gjyGjy.com123';
卸载 MySQL
在 CentOS 7 上,彻底清除 MySQL 可以按照以下步骤操作:
1. 停止 MySQL 服务
确保 MySQL 服务已停止:
sudo systemctl stop mysqld
2. 卸载 MySQL
使用 yum 查看安装的MySQL及其相关组件:
sudo yum list installed | grep mysql
使用 yum
从后到前逐一卸载 MySQL 及其相关组件:
yum remove -y <安装的mysql依赖>
或使用以下命令一次删除
yum list installed | grep mysql | sort -r | \
awk '{print $1}' | xargs yum remove -y
xargs
:xargs命令 – 给其他命令传参数的过滤器
3. 删除 MySQL 数据目录
删除 MySQL 数据目录,这将清除所有数据库数据:
sudo rm -rf /var/lib/mysql
4. 删除 MySQL 配置文件
删除 MySQL 的配置文件:
sudo rm -rf /etc/my.cnf /etc/my.cnf.d
5. 删除其他 MySQL 相关文件
删除可能存在的 MySQL 库文件和日志文件:
sudo rm -rf /var/log/mysqld.log
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/cache/yum
完成这些步骤后,MySQL 应该会被彻底清除。如果你之后需要重新安装 MySQL,可以直接按照官方文档中的安装步骤进行操作。
补充
密码不符合当前的密码策略要求
这个错误表示你在设置 MySQL 密码时,所使用的密码不符合当前的密码策略要求。MySQL 5.7 默认启用了密码策略验证插件 validate_password
,该插件会根据策略要求(如密码长度、复杂性)验证密码。
解决方法 1:使用符合策略要求的密码
你可以使用一个符合 MySQL 密码策略要求的密码,通常需要满足以下条件:
- 长度:默认至少8个字符。
- 字符类型:至少包含以下四种字符类型中的三种:
- 大写字母(A-Z)
- 小写字母(a-z)
- 数字(0-9)
- 特殊字符(如
!@#$%^&*()
)
例如:MyNewPass4!
解决方法 2:修改密码策略要求
如果你不需要这么严格的密码策略,可以调整或禁用密码策略验证。以下是修改策略的步骤:
1. 登录 MySQL:
mysql -u root -p
2.查看当前密码策略配置:
SHOW VARIABLES LIKE 'validate_password%';
3. 修改策略(可选):
1. 降低密码强度要求:
SET GLOBAL validate_password.policy=LOW;
2. 降低密码长度要求:
SET GLOBAL validate_password.length=6;
设置远程用户
创建远程用户
创建一个新用户,并允许从特定IP地址或所有地址进行远程访问。例如,如果你希望允许从任意地址访问:
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
赋予用户所有权限
使用以下命令将所有权限授予该用户:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
刷新权限
在MySQL中,执行 FLUSH PRIVILEGES
命令以确保权限更改生效:
FLUSH PRIVILEGES;
标签:sudo,rpm,mysql,centos7,密码,yum,MySQL,安装,mysql80
From: https://www.cnblogs.com/ujbj/p/18530776