docker安装mysql最新版,开启远程访问

开启远程访问

8.0之前开启远程访问

grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option 

8.0之后

CREATE USER 'root'@'%' IDENTIFIED BY '你的密码'; 
GRANT ALL ON *.* TO 'root'@'%'; 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

mysql 安装

https://www.cnblogs.com/telwanggs/p/10776832.html

pull下来 mysql

docker search mysql
docker pull mysql

改变目录权限,非必须
可以先执行第四步,到第五步时发现容器的状态时是Exited时,执行第六步来查看原因。
如果提示无权限访问时,则需要补上本步骤,这是因为开启SELinux enabled时权限控制更严格所导致
chcon -Rt svirt_sandbox_file_t /data/mysql

运行

docker run -d --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql
 -d 表示在后台运行容器
 --name 表示为后台运行的容器取别名,便于后续的操作
 -v 用来指定数据卷,将正在运行mysql的容器上的/var/lib/mysql目录映射到宿主机上的/data/mysql目录

查看容器的运行状态

docker psdocker ps -a

CONTAINER ID   #容器ID
IMAGE          #镜像名称
COMMAND        #执行的cmd
CREATED        #创建了多久        
STATUS         #容器的status:Up(正在运行) or Exited(不在运行)      
PORTS          #端口映射情况,默认tcp           
NAMES          #容器别名

查看容器的运行日志

docker logs myMysql

与容器进行交互

docker exec -t -i myMysql /bin/bash
# 执行之后会获得容器内的/bin/bash终端,
root@35e1fab30962:/#,其中35e1fab30962是容器ID
#此时就可以在这里执行mysql命令了
mysql -uroot -p
use mysql;
select * from user\G;
docker stop myMysql
docker start myMysql


# mysql容器的数据导出
docker exec myMysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql

docker --help 或 docker cmd --help
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值