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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)