docker 安装 MySQL
一、下载 MySQL 镜像
查看可用版本
docker search mysql
拉取最新版本
docker pull mysql:latest
查看本地镜像
docker images
二、配置宿主机映射文件
创建映射⽬录
mkdir -p /usr/local/src/mysql/config
创建映射配置⽂件
vim /usr/local/src/mysql/config/my.cnf
写⼊配置
[client] default-character-set=utf8mb4 [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure_file_priv=/var/lib/mysql innodb_buffer_pool_size=2G innodb_buffer_pool_instances=4 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci # Custom config should go here !includedir /etc/mysql/conf.d/
三、创建并启动容器
创建容器
docker run \ --restart=always \ --privileged=true \ -p 3306:3306 --name mysql80 \ -v /usr/local/src/mysql/log:/var/log/mysql \ -v /usr/local/src/mysql/data:/var/lib/mysql \ -v /usr/local/src/mysql/config/my.cnf:/etc/mysql/my.cnf \ -v /usr/local/src/mysql/conf.d:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql
查看容器
[root@VM-0-3-centos config]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d158d568e2a4 mysql "docker-entrypoint.s…" 10 seconds ago Up 9 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql80
进⼊容器
docker exec -it mysql80 bash
四、配置 MySQL 远程访问
登录MySQL
mysql -uroot -p
切换数据库
use mysql;
查看⽤户、主机、密码
root ⽤户默认为 localhost 访问,以下是已经开启远程 Host 为 %
mysql> select User, Host, authentication_string from mysql.user; +------------------+-----------+------------------------------------------------------------------------+ | User | Host | authentication_string | +------------------+-----------+------------------------------------------------------------------------+ | root | % | $A$005$19o;AA3#vd|Xc1ExqQevtOff1Kw3qqT97yjkNvijyeH2AcjU5f9LPL9IB | | mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | root | localhost | $A$005$L!LFTZ%UN{M GvPw4kJm7er9QuQkf4Y/XCMh0G92eF/nqcc0mXOXCwbadB | +------------------+-----------+------------------------------------------------------------------------+ 5 rows in set (0.00 sec)
开启远程 root ⽤户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
刷新
flush privileges;

浙公网安备 33010602011771号