ubuntu mysql数据库配置

前言

针对是的 linux 环境, mysql 版本大于 8.0

安装

# 清理原先安装的数据库 sudo apt-get autoremove --purge mysql* # 更新 sudo apt-get update # 依赖自动补全 sudo apt-get -f install # 安装mysql服务端 sudo apt-get install mysql-server # 安装mysql客户端 sudo apt-get install mysql-client # 安装mysql的库 sudo apt-get install libmysqlclient-dev

注:如果在安装过程中有相关的依赖未安装,执行sudo apt-get update更新软件包之后,再进行安装。

查看

# 查看数据库的版本 mysql -V # 查看数据库的状态 service mysql status

以下是我的环境中的结果

初始用户名和密码的获取

执行指令sudo cat /etc/mysql/debian.cnf,能获取相应的用户和密码,用于初次登录
下面是我的环境中的相关配置,涂抹部分是对应的密码(每个人都不相同),用户名应该都是一致的,都是debian-sys-maint
ubuntu mysql数据库配置

登录

使用mysql -u debian-sys-maint -p进行登录,然后进行后续的配置
ubuntu mysql数据库配置

查看密码策略

执行show variables like 'validate_password%';

关于密码策略的相关参数说明:

  1. validate_password.length 固定密码的总长度;
  2. validate_password.dictionary_file 指定密码验证的文件路径;
  3. validate_password.mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
  4. validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数;
  5. validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;
    validate_password.policy 的取值:
    0/LOW:只验证长度;
    1/MEDIUM:验证长度、数字、大小写、特殊字符
    2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
  6. validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
# 更改密码策略 set global validate_password.policy = 'LOW'; # 更改密码长度 set global validate_password.length = 6;

==上面的这个比较重要,否则会因为密码策略的问题导致相关的密码输入一直无效(在此处踩坑许久)。另外。指令中的引号必须要注意,必须是英文的引号,否则会一直出错==

修改root的密码

使用命令ALTER user 'root' IDENTIFIED BY '123456';;会将root用户的密码设置为==123456==。

刷新

使用指令flush privileges;进行相关的刷新操作。

退出

exit退出

重启mysql

sudo service mysql restart执行重启操作

重新用root登录

执行mysql -u root -p指令,输入密码,刚才设置的==123456==。可以看到正确进入mysql。

后续在root用户登录后,再次修改root的密码

# 登录数据库 mysql -u root -p # 确定数据库 use mysql # 将authentication_string置空 update user set authentication_string=’’ where user=‘root’; # 修改密码 alter user ‘root’@‘%’ identified by ‘newpassword’; # 刷新 flush privileges; # 关闭 exit # 重启mysql sudo service mysql restart

再使用新密码进行登录即可。