Docker安装MySQL及phpMyAdmin

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值