下载mysql镜像,不指定tag,自动使用latest

shell> docker pull mysql/mysql-server:tag

运行,–name指定自定义名称(不指定就会随机生成), -d是后台运行

shell> docker run --name=mysql -d -p 3306:3306 mysql/mysql-server:tag

查看运行

shell> docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED             STATUS                              PORTS                NAMES
a24888f0d6f4   mysql/mysql-server   "/entrypoint.sh my..."   14 seconds ago      Up 13 seconds (health: starting)    3306/tcp, 33060/tcp  mysql

查看日志

shell> docker logs mysql

获取初始密码

shell> docker logs mysql 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs

登陆msyql,输入上面获取的初始密码

shell> docker exec -it mysql mysql -uroot -p

添加root用户,在这之前啥都做不了

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

退出后再次root登陆,ok,但是这样只能在容器内部登陆,还需要添加一个外网可访问的mysql

#添加一个外网可访问root账号
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
#设置权限
grant all privileges on *.* to root@"%" WITH GRANT OPTION;

现在可以在容器外访问了

参考文档
https://hub.docker.com/r/mysql/mysql-server

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐