docker运行mysql容器

其实呢...并没有那么复杂

 

第一步:docker run -d -p 3306:3306 --name 自己起的容器名字 --restart always(总是启动,可选)-e MYSQL_ROOT_PASWORD=你的初始密码 镜像id

 

 

第二步:docker exec -it 容器id /bin/bash进入容器,查看mysql授权情况:

select User,authentication_string,Host from user;查看root用户对应host是否为%,允许远程连接

 

第三步:如果不是的话,则授权: 

1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'  

             这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址

  2.flush privileges;          这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据 因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

mysql8.X授权命令变化:GRANT ALL ON *.* TO 'root'@'%'; ps:这里是个坑,8.x变化蛮多的,其他新特性请自行查资料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章