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 @ 2022-12-07 18:36  diligently  阅读(30)  评论(0)    收藏  举报