Linux


WSL Ubuntu 中安装 MySQL 5.7

sudo apt install mysql-server-5.7
sudo mysqld

启动失败

2018-08-15T01:08:41.167354Z 0 [ERROR] Could not create unix socket lock file /var/run/mysqld/mysqld.sock.lock.
2018-08-15T01:08:41.167378Z 0 [ERROR] Unable to setup unix socket lock file.

修改启动方式

sudo service mysql start

之后问题解决,但是没有默认密码。设置 root 账号密码

sudo mysql_secure_installation

设置默认密码之后,依然无法访问。

$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

需要 sudo

sudo mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.23-0ubuntu0.18.04.1 (Ubuntu)

新建一个不需要 sudo 登陆的账号

mysql> create user 'xylw'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to 'xylw'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

使用这个账号就能直接登录了

mysql -uxylw -p

设置密码的时候报错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    | OFF   |
| 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     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

validate_password_policy设置成LOW,并修改密码长度限制

set global validate_password_policy=LOW;
set global validate_password_length=4;

页面列表

ITEM_HTML