DOCKER 安装MySQL
补充:
注意。这有个坑
之前安装的是这个版本的mysql,但是当我登录到容器中,在/etc下找不到/mysql这个文件夹,这是因为当前镜像的原因

- 确认docker环境已安装好
- 查询镜像
docker search mysql
- 拉取MySQL镜像
docker pull mysql:5.7
- 创建挂载点目录库
mkdir -p /soft/mysql/log
mkdir -p /soft/mysql/conf
mkdir -p /soft/mysql/data
- 在【/soft/mysql/conf】目录下创建mysql配置文件
MySQL(5.7)的默认配置文件是 /etc/mysql/my.cnf 文件。如果想要自定义配置,建议向 /etc/mysql/conf.d 目录中创建 .cnf 文件
touch my.cnf
touch my.conf
- 在【/soft/mysql/conf/ my.conf】添加如下配置
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
- 创建容器
sudo docker run -p 3306:3306 --name mysql -v /soft/mysql/log:/var/log/mysql -v /soft/mysql/data:/var/lib/mysql -v /soft/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -di 容器id
注:
-d: 后台运行
-i:表示运行容器
–name :为创建的容器命名。随便定义
-p 代表端口映射,宿主机映射端口:容器运行端口
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的远程登陆密码
8. 第四步容器已经在运行了,操作容器中的mysql,进入mysql容器
docker exec -it mysql /bin/bash
注:
-t:表示容器启动后,进入命令行
- 登录mysql
mysql -u root -p
- 验证mysql
show databases;
- 更改密码,开启远程连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges; #刷新权限
查看容器内mysql的ip
使用场景:其他容器中要连接mysql容器的mysql的时候
命令:docker inspect mysql5.7
navicat连接不上docker中的mysql,报10060错误

1、退出mysql容器,在root用户下编辑 sysctl.conf
vi /etc/sysctl.conf
2、在上述打开的文件中后面添加
net.ipv4.ip_forward=1
3、重启network
systemctl restart network
- 查看mysql的安装路径
whereis mysql
本文档详细介绍了如何在Docker环境中安装并配置MySQL5.7,包括创建挂载点、配置文件、启动容器、设置密码、允许远程连接及解决Navicat连接问题。重点在于容器内的MySQL配置及网络设置。

4898

被折叠的 条评论
为什么被折叠?



