安装mysql
在Ubuntu 20.04.3 LTS上安装mysql8.0
下载mysql
在终端输入下列命令
sudo apt update
sudo apt install mysql-server-8.0
验证安装
输出当前mysql的版本,并启动mysql
sudo systemctl status mysql.service
sudo systemctl start mysql.service
配置mysql
执行mysql_secure_installation来做一些常规化安全设置。
sudo mysql_secure_installation
配置mysql时,你将依序选择以下服务:
“ 密码有效强度(validate password component)”。
“ 移除匿名用户(remove anonymous user)”
“ 禁止 root 远程登录(disallow root login remotely)”
“ 移除测试数据库及其访问(remove test database and access to it)”
“ 重新载入权限表(reload privilege tables now)”
链接与断开 MySQL Server
使用root用户连接
sudo mysql
第一次进行连接时,先用root用户进入mysql,添加新的用户 ,并授予其相应的权限。
添加用户时,注意用户密码应符合当前mysql的密码策略,详细见本章末尾。
使用其他用户连接
mysql -h host_name -u user -p
-h
用来指定一个主机名(如果这个服务被安装到其他机器上,那么会有用;如果没有,忽略它)-u
指定登录的用户-p
指定你想输入的密码
在本机连接mysql,使用下列命令(用户密码1234)
mysql -u test_user -p
1234
要从服务端断开连接和离开 MySQL 提示符,输入:
quit
卸载mysql
首先,关闭服务:
sudo systemctl stop mysql.service && sudo systemctl disable mysql.service
通过下列命令卸载 MySQL:
sudo apt purge mysql*
清理依赖:
sudo apt autoremove
输入下列命令,检查mysql相应的包是否卸载成功:
dpkg --list|grep mysql
密码策略
修改用户密码,为新用户添加密码时,如果设置的密码不符合当前的密码策略,mysql便会报出以下异常。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看密码策略
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
关于 mysql 密码策略相关参数;
-
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=4;