docker mysql 无权限_docker入门 —— 构建 mysql 数据库

docker入门 —— 构建 mysql 数据库

aec1d20371a60f28ea9ec6ec5a7b2b7c.png

挂载文件,实现容器和数据分离

优点:由于 docker 容器的独立性,在容器删除时,mysql 的文件也会删除。为了解决这个问题,我们在启动 docker 时,需要将 mysql 的数据文件目录映射到宿主机,这样只即使 docker 删除了,只要不删除宿主机的文件,数据文件会一直保留,下次要使用时,只须重新运行一个 docker 容器,将 mysql 的数据文件目录映射到宿主机的相应目录即可。

创建挂载目录

/data/mysql 目录下创建 conf、data、log 文件夹

新建配置文件(待挂载)

conf 文件夹下新建 my.cnf,加入如下内容(记得第一行必须是[mysqld])

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Custom config should go here
!includedir /etc/mysql/conf.d/

#default_authentication_plugin= mysql_native_password

日志配置

  • 修改配置,增加如下内容(vi my.cnf)
#########################日志配置############################

log-error=/var/log/mysql/error.log
#log=/var/log/mysql/mysql.log
slow_query_log =ON
slow_query_log_file=/var/log/mysql/slowquery.log
long_query_time=3
log-queries-not-using-indexes=/var/log/mysql/nouseindex.log

 #########################日志配置############################

权限变更

  • 变更挂载目录及所有子目录的用户权限
    • 执行
chown -R 999:999 /data/mysql/
  • 结果如下:
 drwxr-xr-x  6 polkitd ssh_keys  4096 Aug  1 05:34 mysql

构建和启动

  • 执行如下命令构建并启动容器:
docker run -p 3306:3306 --name mysql8 -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/mysql/log:/var/log/mysql -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=XXX@123456 -d mysql

  • 如果是 centos7 以上,可能需要加参数:
    • --privileged=true
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值