1、centos上如何安装MySQL:
1.1.下载并安装mysql yum Repo:
# 下载
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# 安装
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
1.2.进入yum.repos.d目录,安装mysql-server
cd /etc/yum.repos.d/
yum -y install mysql-server
1.3.出现mysql-community-common-5.7.42-1.el7.x86_64.rpm的公钥尚未安装的错误
例如:"Public key for mysql-community-server-5.7.44-1.el7.x86_64.rpm is not installed"
# 安装所缺少的包后重新安装mysql-server即可
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-server
1.4.启动MySQL并获取登录密码
# 启动MySQL
systemctl start mysqld
# 获取登录密码
grep 'temporary password' /var/log/mysqld.log
1.5.登录MySQL
# -p后面跟的密码为上一步获得的密码
mysql -uroot -plqjT3cA%swE9
1.6.修改mysql的用户root的密码并配置mysql
# 修改mysql的用户root的密码
set password for root@localhost=password("Root@123");
问题 1:
如果修改密码报错:
"RROR 1819 (HY000): Your password does not satisfy the current policy requirements"
解决:
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=LOW;
set global validate_password_length=1;
其中,validate_password_policy取值:
0 or LOW 只验证长度;
1 or MEDIUM 验证长度、数字、大小写、特殊字符;
2 or STRONG 验证长度、数字、大小写、特殊字符、字典文件;
然后,再执行:
set password for root@localhost=password("root");
就不报错了!
问题2:
如果本地127.0.0.1可以连接msyql,远程其他服务器连接报错:
ERROR 1130 (HY000): Host 'hadoop1' is not allowed to connect to this MySQL server
解决:
use mysql;
select host from user where user = 'root';
update user set host = '%' where user = 'root';
flush privileges;
-- msyql:查看数据库编码
SHOW VARIABLES LIKE 'character_set%';
-- 查看当前数据库的默认字符集编码
SHOW CREATE DATABASE your_database;
-- 修改数据库的字符集编码为utf8mb4(或其他支持的字符集)
ALTER DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 确保新设置生效
SET NAMES 'utf8mb4';