docker 安装mysql

查看可安装的mysql版本:

docker search mysql

拉取最新的版本镜像

查找mysql最新版本

https://hub.docker.com/_/mysql?tab=tags
docker pull mysql:latest

查看本地拉取的镜像文件:

docker images

运行myql,设置端口和密码

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.31
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
docker run -p 3306:3306 --name mysql --restart=always --network common-network -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-p 指定在容器内部的端口 以及对外暴露的端口
--name 设置服务器名称
--restart 是否运行跟随docker一起启动
--network 容器之间内部通信网络
-v 挂载命令 将容器中的配置挂载在外部来方便修改
-d 指定版本
-e 修改配置
-e 指定root的密码

docker 查看是否安装成功:

docker ps

进入docker中创建的容器

docker exec -it 6433654a15c6 bash
6433654a15c6 为docker ps 中的容器id
bash 以bash的方式进入
进入容器后 相当于在主机上面操作
exit 进行退出

docker设置 外部访问 

登录mysql容器:
docker exec -it ada965b21ca1 bash
ada965b21ca1 :容器id
mysql -uroo -p
登录 容器中的mysql
show databases;
use mysql;
select host,user,plugin from user;
alter user 'root'@'%' identified with mysql_native_password by '123456';
然后就可以远程登录了

修改my.conf

新建以下内容 vi my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

设置重启可以访问

docker update mysql --restart=always

posted @   diligently  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示