尝试用docker启动mysql镜像,创建用户失败
docker-compose文件如下
version: '3' services: mysql: container_name: "blog-system-mysql" image: "mysql" ports: - "5011:3306" restart: always environment: MYSQL_ROOT_PASSWORD: "123456" MYSQL_USER: 'usr' MYSQL_PASS: '123456' volumes: - "./db:/var/lib/mysql"
我的理解是environment对应的变量将会
查看用户表,发现没有新用户创建
可以看到只有root用户
为什么会发现这个问题是因为我远程连接的时候无法连接,所以将Host中localhost改为了%,但是改完之后我发现root不需要密码,和我的设置不符合。
修改Host参考连接:https://blog.csdn.net/u014780310/article/details/112175133#:~:text=use%20mysql%3B%20select%20host%20from%20user%20where%20user%3D%E2%80%98root%E2%80%99%3B,%E2%80%98%25%E2%80%99%20where%20user%20%3D%27root%E2%80%99%E5%B0%86Host%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%80%9A%E9%85%8D%E7%AC%A6%25%E3%80%82%20Host%E8%AE%BE%E7%BD%AE%E4%BA%86%E2%80%9C%25%E2%80%9D%E5%90%8E%E4%BE%BF%E5%8F%AF%E4%BB%A5%E5%85%81%E8%AE%B8%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE%E3%80%82%20%EF%BC%884%EF%BC%89Host%E4%BF%AE%E6%94%B9%E5%AE%8C%E6%88%90%E5%90%8E%E8%AE%B0%E5%BE%97%E6%89%A7%E8%A1%8Cflush%20privilegs%E4%BD%BF%E9%85%8D%E7%BD%AE%E7%AB%8B%E5%8D%B3%E7%94%9F%E6%95%88%E3%80%82%20%EF%BC%885%EF%BC%89%E5%AE%8C%E6%88%90%E4%BB%A5%E4%B8%8A%E6%93%8D%E4%BD%9C%E5%90%8E%EF%BC%8C%E5%86%8D%E8%AF%95%E5%B0%9D%E8%AF%95%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5Mysql%EF%BC%8C%E6%8A%A5%E9%94%99%E4%BF%A1%E6%81%AF%E6%B6%88%E5%A4%B1%E3%80%82
自己创建镜像参考连接:https://hub.docker.com/_/mysql
已经进行的尝试:修改environment变量的位置,之前是先声明environment再声明image,上面是已经修改的结果,但是这样仍然无法创建新用户。
希望可以达到创建新用户并且root密码设置为123456
您的每一个用心回答,都会让这个世界变得更美好一些!
version: '3' services: mysql: container_name: "blog-system-mysql" image: "mysql:5.7.31" ports: - "5011:3306" restart: always environment: MYSQL_ROOT_PASSWORD: "123456" MYSQL_USER: 'root' MYSQL_PASS: '123456' volumes: - "./db:/var/lib/mysql"
你看看这个脚本可以吗?
建议先创建root的,然后通过root登陆再去创建。
你看看这个脚本可以吗?
建议先创建root的,然后通过root登陆再去创建。