在参考了大量文章之后,终于弄懂了mysql容器实现配置本地化、数据本地化的方法。下面我将详细介绍,如果对大家有用的话希望大家关注或者评论一下!在过程中哪一步报错了也可以在评论中说下!
1.先把局域网内连接mysql容器
第一步:从docker中拉取MySQL镜像
docker pull mysql
第二步:生成mysql容器
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql --character-set-server=utf8 --collation-server=utf8_general_ci
参数说明:
-e MYSQL_ROOT_PASSWORD="123456":设置root用户密码
--character-set-server=utf8:设置字符集为utf8
--collation-server=utf8_general_cli:设置字符比较规则为utf8_general_cli
第三步:测试连接MySQL
这里我使用navicat远程连接,连接MySQL前需要防火墙开放端口或者关闭防火墙。
开放端口:
$ sudo firewall-cmd --add-port=3306/tcp
关闭防火墙:
$ sudo systemctl stop firewalld
一般这个时候用navicat会报错连接不了,如果连接成功可以跳过
解决方案如下:
1.输入docker exec -it mysql bash进入容器
2.接着输入mysql -uroot -p进入mysql 密码是生成mysql容器时指定的MYSQL_ROOT_PASSWORD
3.输入ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
此时就能连接上了
若在输入ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';报错
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'</