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