学堂 学堂 学堂公众号手机端

ubuntu mysql数据库配置

lewis 6年前 (2020-03-10) 阅读数 8 #技术
前言

针对是的 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

登录

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

查看密码策略

执行show variables like 'validate_password%'; 关于密码策略的相关参数说明:

validate_password.length 固定密码的总长度; validate_password.dictionary_file 指定密码验证的文件路径; validate_password.mixed_case_count 整个密码中至少要包含大/小写字母的总个数; validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数; validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM; validate_password.policy 的取值: 0/LOW:只验证长度; 1/MEDIUM:验证长度、数字、大小写、特殊字符; 2/STRONG:验证长度、数字、大小写、特殊字符、字典文件; 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

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

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门