由于MySQL5.7.4之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个临时密码。
grep 'temporary password' /var/log/mysqld.log
//如果密码为空,可能是之前安装过mysql, 有残留需要删除,重启
rm -rf /var/lib/mysql
systemctl restart mysqld
//更改策略
mysql> set global validate_password_policy=0; # 此时,新密码长度大于等于8位才有效,否则报错
mysql> set global validate_password_length=1; # 修改有效密码长度
//帮助
mysql > set global validate_password_policy=LOW;
mysql > set global validate_password_length=6;
//重设密码
mysql> set password for root@localhost=password('engma123');
//表
mysql> select user, host from user;
//查看当前授予过的权限
show grants;
//授权
mysql> grant all privileges on *.* to root@'%' identified by 'engma123';
mysql> flush privileges;
mysql数据存储的物理位置
// 执行如下指令,可以找到数据所在的目录
mysql> show global variables like "%datadir%";
docker pull mysql
> mysql -u root -p
> use mysql;
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ubuntu' PASSWORD EXPIRE NEVER;
> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'ubuntu';
> FLUSH PRIVILEGES;