Docker安装MySQL及phpMyAdmin

本文介绍如何使用Docker安装和配置MySQL数据库及phpMyAdmin管理工具,包括设置MySQL容器参数、权限配置、远程连接及解决启动失败问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker安装MySQL及phpMyAdmin

安装MySQL

Docker命令如下:

sudo docker run --privileged --restart=always  --name mysql5 \
        -p 3306:3306 \
        -v /root/docker/mysql/cnf:/etc/mysql/conf.d  \
        -v /root/docker/mysql/log:/var/log/mysql  \
        -v /root/docker/mysql/data:/var/lib/mysql  \
        -e MYSQL_ROOT_PASSWORD=root123 -d mysql:5.7

--privileged 给容器加权限
--restart=always 配置容器开机自启动
-e MYSQL_ROOT_PASSWORD 配置数据库密码,默认用户名为root
MySQL的conf文件,如果使用默认的,可不映射

开启MySQL远程连接

进入docker容器中的MySQL
# 查看docker中运行的容器
docker ps

# 进入某容器
docker exec -it {容器id} /bin/bash

# 进入mysql
mysql -uroot -p

配置权限
为老用户授权
use mysql;

# 授权
GRANT ALL PRIVILEGES ON *.* TO 'jira'@'%' IDENTIFIED BY 'jira12345'

# 刷新权限:
FLUSH PRIVILEGES;

授权命令格式:
grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"
说明:
上例中,*.*代表所有数据库权限
@后面是访问MySQL的客户端IP地址或主机名
----> % 表示任意的客户端
----> localhost 表示本地访问

修改数据表
use mysql;
update user set host = '%' where user = 'jira';
创建新用户

查看用户

use mysql;
select host,user,password from user;

创建用户

# 创建新用户
CREATE USER 'jira'@'%' IDENTIFIED BY 'jira123456';

修改密码

# 修改用户密码
SET PASSWORD FOR 'jira'@'%' = PASSWORD('jira123456'); 

Docker安装MySQL的Web管理工具phpMyAdmin

可以通过docker search 查找phpmyadmin的镜像,并pull到本地。

docker run -it --name phpmyadmin77 -e MYSQL_USERNAME=root --link mysql5:db -p 8000:80 -d phpmyadmin/phpmyadmin 

# OR 
# docker run --name myphpmyadmin -d --link mysql5:db -p 8000:80 phpmyadmin/phpmyadmin

其中:mysql5是docker中mysql容器的名字

启动MySQL失败问题

mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 13 - Permission denied)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

ERROR: mysqld failed while attempting to check config
command was: "mysqld --verbose --help"

原因

因为Centos7安全Selinux禁止了一些安全权限,导致mysql在进行挂载/var/lib/mysql的时候会提示上面的信息。

解决方法

在docker run中加入 --privileged 给容器加上特定权限

sudo docker run --privileged --name mysql5 \
        -p 3306:3306 \
        -v /root/docker/mysql/cnf:/etc/mysql/conf.d  \
        -v /root/docker/mysql/log:/var/log/mysql  \
        -v /root/docker/mysql/data:/var/lib/mysql  \
        -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6
Docker 是一种容器化平台,可以让你无需依赖特定的硬件和软件配置即可运行应用程序。通过使用 Docker 安装 MySQL,可以快速构建 MySQL 环境,并且能够在不同的开发和测试环境中复用。以下是使用 Docker 安装 MySQL 的基本步骤: 1. **安装 Docker:** 首先确保你的系统已经安装DockerDocker 安装方法因操作系统而异,例如在 Ubuntu 上可以通过以下命令安装 Docker: ```bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 2. **拉取 MySQL 镜像:** 你可以从 Docker Hub 上获取官方的 MySQL 镜像。使用以下命令拉取最新版本的 MySQL 镜像: ```bash docker pull mysql ``` 如果你想要拉取特定版本的 MySQL,可以在镜像名称后指定版本号,例如: ```bash docker pull mysql:5.7 ``` 3. **运行 MySQL 容器:** 使用 `docker run` 命令启动 MySQL 容器。你需要指定一些参数,如密码、端口映射等。以下是一个启动 MySQL 容器的基本示例: ```bash docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql ``` 在这个命令中: - `--name some-mysql` 指定容器的名称。 - `-e MYSQL_ROOT_PASSWORD=my-secret-pw` 设置环境变量,为 root 用户设置密码。 - `-d` 表示在后台运行容器。 - `mysql` 是要启动的镜像名称。 你也可以通过 `docker run` 命令进行端口映射,使容器内的服务能够从宿主机访问。例如,将容器的 3306 端口映射到宿主机的 3306 端口: ```bash docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql ``` 4. **验证 MySQL 容器状态:** 可以使用以下命令查看所有运行中的容器: ```bash docker ps ``` 如果 MySQL 容器运行正常,你将看到它列在运行中的容器列表中。 5. **连接到 MySQL 容器:** 现在你可以使用 MySQL 客户端工具(如命令行、phpMyAdmin、Navicat 等)连接到 MySQL 容器。连接时,使用容器的 IP 地址(或 `localhost` 如果映射到宿主机),端口 `3306` 和 root 用户及之前设置的密码。 请注意,生产环境中使用 Docker 安装 MySQL 时,还需要考虑数据持久化、安全性和网络配置等高级设置。以下是一些相关问题:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值