centos7安装mysql80

安装

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

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 密码策略要求的密码,通常需要满足以下条件:

  1. 长度:默认至少8个字符。
  2. 字符类型:至少包含以下四种字符类型中的三种:
    • 大写字母(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;
posted @ 2024-11-06 18:29  ujbjgjy  阅读(39)  评论(0编辑  收藏  举报