DOCKER安装mysql

本文详细介绍了如何使用Docker拉取MySQL 8.0镜像,配置数据目录与my.cnf,设置root用户权限,以及解决本地访问问题。重点在于容器启动与MySQL配置调整过程。

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

环境:

Docker version 20.10.18

MySQL:8.0.18

#拉取镜像 
docker pull mysql:8.0.18
#创建数据目录和配置文件
#在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权

mkdir -p /usr/mysql/conf /usr/mysql/data
chmod -R 755 /usr/mysql/

#在上面创建的配置文件目录/usr/mysql/conf下创建MySQL的配置文件my.cnf

vim /usr/mysql/conf/my.cnf
[client]

#socket = /usr/mysql/mysqld.sock

default-character-set = utf8mb4

[mysqld]

#pid-file        = /var/run/mysqld/mysqld.pid

#socket          = /var/run/mysqld/mysqld.sock

#datadir         = /var/lib/mysql

#socket = /usr/mysql/mysqld.sock

#pid-file = /usr/mysql/mysqld.pid

datadir = /usr/mysql/data

character_set_server = utf8mb4

collation_server = utf8mb4_bin

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/
#启动容器
docker run --restart=always -d --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

问题:本地无法访问

#进入容器内部
docker exec -it id ./bin/bash
#连接mysql
mysql -uroot -p
#使用mysql库
mysql> use mysql
#修改访问主机以及密码等,设置为所有主机可访问
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql>flush privileges;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值