安装工作
找到路径:
cd /usr/local
创建目录:
mkdir mysql
下载安装包:
MySQL :: Download MySQL Community Server
解压安装包:
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
逐个安装,命令如下,例:
【必须安装】
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm
【非必须安装】
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.16-2.el7.x86_64.rpm
备注:遇到“错误:依赖检测失败:”,命令后面加上“ --force --nodeps”;
查看已安装资源:
rpm -qa | grep mysql
查看服务状态:
systemctl status mysqld
备注:
MySQL服务启停设置:
sudo service mysqld stop
sudo service mysqld start
sudo service mysqld restart
sudo service mysqld status
安装后工作
安装后,查看临时密码:
cat /var/log/mysqld.log | grep password
登陆数据库:
mysql -uroot -p
输入,临时密码:
pkxRP9i!eEhQ
进入MySQL,修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test123';
修改密码时报错,如下:
修复“修改密码时报错”,输入:
vi /etc/my.cnf
在文本里,添加两行代码:
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
截图如下:
:wq 保存并退出!
设置 MySQL 的策略参数值(重要):
输入:SHOW VARIABLES LIKE 'validate_password%';
1.validate_password.length 是密码的最小长度,默认是8,我们把它改成6
输入:set global validate_password.length=6;
2.validate_password.policy 验证密码的复杂程度,我们把它改成0
输入:set global validate_password.policy=0;
3.validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉
输入:set global validate_password.check_user_name=off;
再次执行修改密码命令:
输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test123';
提示,修改密码成功!
再次尝试,使用新密码登陆数据库,成功!:
提示:登陆成功!!!
需要授权远程连接,才可以远程访问:
登陆数据库后,输入如下代码:
use mysql;
update user set host = "%" where user='root';
备注:
Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。
立即生效:
输入:flush privileges;
打开防火墙MySQL端口(3306):
firewall-cmd --zone=public --add-port=3306/tcp --permanent
开启端口后,重启防火墙:
firewall-cmd --reload
远程 Navicat Premium 也可以访问: