
docker启动mysql镜像
docker run -p 3306:3306 –name mysql-5.7 -v $PWD/home/dawenzi/mysql/conf/my.cnf:/etc/mysql//my.cnf -v $PWD/home/dawenzi/mysql/logs:/logs -v $PWD/home/dawenzi/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 docker run -d -p 8088:8088 -v D:/Docker/Superset:/home/superset amancevice/superset -d:表示后台运行 -p:表示宿主机和容器的端口映射,以上面为例冒号前的9088是你自己主机的端口号,冒号后的8088是容器自身的端口 号 -v:表示宿主机与容器的文件路径映射,以上面为例D:/Docker/Superset是你自己主机的目录,/home/superset是容器内 应用目录。 docker run -p 3306:3306 -v /home/lib/mysql/data:/var/lib/mysql:rw -v /home/lib/mysql/log:/var/log/mysql:rw -v /home/lib/mysql/config/my.cnf:/etc/mysql/my.cnf:rw -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=root –name mysql8 –restart=always -d mysql docker run -p 3306:3306 –name mysql -v /home/lib/mysql/conf:/etc/mysql/conf.d -v /home/lib/mysql/logs:/logs -v /home/lib/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root –restart=always -d mysql:latest 配置文件(mysql8): my.cnf 出现连接不上时: https://blog.csdn.net/mxskymx/article/details/88765072 1.登录mysql : mysql -u root -p 2.输入密码: Enter password: xxxxx —— Server version: 8.0.15 MySQL Community Server - GPL 3.进入mysql数据库:use mysql; 4.设置允许远程用户访问:
MySQL [mysql]> GRANT ALL ON . TO ‘root’@’%’ 出现问题:ERROR 1410 (42000): You are not allowed to create a user with GRANT 原因:当前user表中没有root - %记录;可以更新root - localhost 为 root - % 出现问题:ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’ 原因显示:host+user 应该是联合主键,冲突了 5.解决方法: MySQL [mysql]> update user set host = ‘%’ where user = ‘root’ and host=‘localhost’;
6.再次给用户root授权 MySQL [mysql]> GRANT ALL ON . TO ‘root’@’%’ MySQL [mysql]> flush privileges; 此时用navicat连接还是报错:Client does not support authentication protocol requested by server; 原因是mysql8默认的加密方式为caching_sha2_password 与mysql5的加密方式mysql_native_password 不同 7.解决方法-更新用户加密方式: MySQL [mysql]> ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘密码’; 查询一下修改结果:MySQL [mysql]> select host,user,plugin from user;
其它:如果需要支持 root - localhost可以使用插入语句 MySQL [mysql]> insert user (user, host, ssl_cipher, x509_issuer, x509_subject) values(‘root’, ’localhost’, ‘’, ‘’, ‘’); 再查看:(注意 ssl_cipher, x509_issuer, x509_subject这几个字段没有默认值,不设置会提示错误)




