Ubuntu18.10安装MySQL5.7并配置用户名密码

1.先安装MySQL

sudo apt-get install mysql-server

2.使用自动生成的用户名和密码登录

sudo cat /etc/mysql/debian.cnf

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = Iuj3awEA9yh0DhuR
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = Iuj3awEA9yh0DhuR
socket   = /var/run/mysqld/mysqld.sock

由此可以看见用户名和密码。

使用mysql -udebian-sys-maint -pIuj3awEA9yh0DhuR进行数据库登录操作。

3.设置用户名和密码为常规的root和123456

登录到数据库中去之后,依次输入以下的语句:

show databases;
use mysql;
update user set authentication_string=PASSWORD("123456") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;

其中在输入用户名和密码的那一段,会因为安全策略而报错。因此需要改变默认的安全策略。

mysql>  update user set authentication_string=PASSWORD("123456") where user='root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

必须修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          8 |
+----------------------------+
1 row in set (0.00 sec)

validate_password_length参数默认为8

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
|                          4 |
+----------------------------+
1 row in set (0.00 sec)

操作完这些了就可以再次设置用户名密码,然后继续后面的操作。

4.修改完密码,需要重启mysql

sudo /etc/init.d/mysql restart

5.再次登录

mysql -u root -p

 

你可能感兴趣的:(SQL)