一、MySQL8.0安装
yum -y install wget(安装wget)
yum -y install vim*(安装vim)
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm(下载rpm包)
yum -y install mysql80-community-release-el7-3.noarch.rpm(安装下载好的rpm包)
yum -y install mysql-community-server(安装MySQL服务器)
service mysqld start(启动MySQL服务)
grep "password" /var/log/mysqld.log(从日志里面找到初始密码)
mysql -uroot -p(用初始密码登录,比如上面截图的是我的初始密码TgLn(rdvlpl)
set global validate_password.policy=0;(默认是1,符合长度,必须含数字,小写或大写字母,特殊字符,改成0)
set global validate_password.length=4;(更改密码长度,密码最小长度为4)
alter user 'root'@'localhost' identified by '123456';(修改密码为123456)
安装完成:用户名root,密码123456
二、忘记密码的操作
vim /etc/my.cnf(编辑文件)
skip-grant-tables(在配置文件增加这一行字符,增加后无需密码也可以连接,注意最后要删除掉,要不然可视化工具无法连接MySQL)
service mysqld restart(重启数据库服务器)
再次登录数据库服务器是不用密码的:
mysql -uroot
update mysql.user set authentication_string="" where user="root";
flush privileges;
如何设置简单的密码需修改密码策略才可以使用简单密码:
set global validate_password.policy=0;(默认是1,符合长度,必须含数字,小写或大写字母,特殊字符)
set global validate_password.length=4;(更改密码长度,密码最小长度为4)
alter user 'root'@'localhost' identified with mysql_native_password by '123456';(使用mysql_native_password加密方式,修改密码为root密码为123456**)**
flush privileges;(刷新)
!删除/etc/my.cnf配置文件中刚才添加的skip-grant-tables字符串,再重启数据库服务器。
设置简单的密码需要更改密码策略
以下报错是给用户设置密码时密码过于简单,如需要设置类似123456这样的简单密码,需要修改密码策略,再设置密码:
set global validate_password.policy=0;
set global validate_password.length=4;
三、可视化工具无法远程连接数据库
1、Linux中防火墙中的设置:
firewall-cmd --state(查看防火墙状态running表示正在运行)
firewall-cmd --zone=public --list-ports(查看开放的端口号)
firewall-cmd --zone=public --add-port=3306/tcp --permanent(开放3306端口永久生效)
firewall-cmd --reload(重启防火墙)
firewall-cmd --zone=public --list-ports(再次查看开放的端口列表的3306/tcp)
2、MySQL数据库本身的设置:
use mysql;(选中数据库)
update user set host='%' where user = 'root';(把root用户的host改成%表示任意IP可以访问)
温馨提示:MySQL8使用了新的认证插件caching_sha2_password一些低版本的Navicat还不支持这个新的插件,连接会出现错误。navicat12.0.28已经支持新的验证方式。旧版本需要把登录验证方式改成mysql_native_password方式:
alter user 'root'@'%' identified with mysql_native_password by '123456';(用mysql_native_password的加密方式,修改密码为123456)
flush privileges;(刷新)
service mysqld restart(重启数据库服务器)
四、DBeaver连接数据库遇到的坑
1、数据库时区不对
show variables like '%time_zone%';(查看时区)
set global time_zone='+8:00';(设置时区)