docker 安装报错 ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: YES)解决方法
以下操作针对mysql8.0.11版本:第一步:安装mysql服务时docker run -d -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql/conf.d --name mysql -e MYSQL_ROOT_PASSWORD=mysql123 -p 3306:3306 -d mysql:latest...
以下操作针对mysql8.0.11版本:
第一步:安装mysql服务时
docker run -d -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql/conf.d --name mysql -e MYSQL_ROOT_PASSWORD=mysql123 -p 3306:3306 -d mysql:latest
需要将 -v /data/mysql/conf:/etc/mysql/conf.d 这句话加上。这样的话mysql安装目录/etc/mysql/conf.d 会加载到docker 容器/data/mysql/conf目录下。
进入docker容器,在/data/mysql/conf目录下面新建my.cnf文件,名字可以随便起,但必须是.cnf结尾的文件。
vi my.cnf文件,加入下面的内容。
[mysqld]
skip-grant-tables
重启mysql服务。即可以mysql -u用户名 -p 登录进去。
第二步:更新root密码
select user,authentication_string from user;
update user set authentication_string='' where user='root';
第三步:注释掉my.cnf 文件中的 skip-grant-tables
alter user'root'@'%' IDENTIFIED BY 'Mysql@123';
alter user'root'@'localhost' IDENTIFIED BY 'Mysql@123';
flush privileges;
发现用mysql客户端SQLyog连接,报 连不上。
MYSQL 8.0内新增加mysql_native_password函数,通过更改这个函数密码来进行远程连接。更改ROOT用户的native_password密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'Mysql@123';
执行完成。既可以连接了。
查看变量值:
SHOW VARIABLES LIKE 'lower%';
更多推荐
所有评论(0)