1、测试环境

使用 docker创建MySQL容器,创建命令如下:

docker run -tid -e MYSQL_ROOT_PASSWORD=my_passwd --net=host --name=db mysql:5.7 /bin/bash

mysql带密码登录 mysql开启密码登录_docker

启动完成之后,进入容器执行下面的命令启动MySQL服务

./etc/init.d/mysql restart

mysql带密码登录 mysql开启密码登录_docker_02


然后输入登录语句验证

mysql

mysql带密码登录 mysql开启密码登录_密码登录_03


可以看到,此时是不需要输入密码的

2、开启密码登录

首先登录数据库,然后执行下面的语句

mysql
use mysql

mysql带密码登录 mysql开启密码登录_mysql_04

update user set authentication_string=PASSWORD("${密码}") where user='root';

注意,把**${密码}**替换成你的密码(看图片示例)

update user set plugin="mysql_native_password";

mysql带密码登录 mysql开启密码登录_docker_05


最后刷新权限

flush privileges;quit;

mysql带密码登录 mysql开启密码登录_密码登录_06


然后登录验证

mysql
mysql -uroot -p -e "show databases;"

mysql带密码登录 mysql开启密码登录_密码登录_07


此时密码就设置完成了