极智开发 | 基础 docker 内配置 mysql 数据库远程环境

160 阅读2分钟

 「这是我参与2022首次更文挑战的第21天,活动详情查看:2022首次更文挑战

欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

   大家好,我是极智视界。本文详细介绍了在基础 docker 内配置 mysql 数据库环境的方法。

1、拉取基础镜像

docker pull nvidia/cuda:10.2-devel-ubuntu18.04

2、启容器

sudo docker run -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --gpus all --privileged --net=bridge --ipc=host --pid=host --name container_name -v /path/to/your/device:/path/to/your/host nvidia/cuda:10.2-devel-ubuntu18.04 /bin/bash

3、安装 mysql

apt update 

# 查询一下看用 apt 能直接安装什么版本的 mysql 
apt-cache madison mysql-server

   安装 mysql:5.7.35-0ubuntu0.18.04.1

apt install mysql-server=5.7.35-0ubuntu0.18.04.1

4、配置 mysql

4.1 更新用户密码

# 启动 mysql 服务 
service mysql start 

# 进入 mysql 
mysql -u root -p 

# 进入 mysql databases 
mysql> use mysql; 

# 查看 root 用户权限 
mysql>select host,user from user; 

# 把host修改成 “%”,这样其他ip可通过远程访问数据库 
mysql>update user set host='%' where user='root';
# 更新root用户密码 
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

# 刷新权限 
flush privileges;

4.2 开放3306端口

  查询 mysql 端口:

mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';
# 验证 3306 端口是否打开 
netstat -an|grep 3306

   若输出类似于如下,说明没有打开:

~$ netstat -an|grep 3306 
tcp    0    0 127.0.0.1:3306     0.0.0.0:*          LISTEN 
tcp    0    0 127.0.0.1:55496    127.0.0.1:306      TIME_WAIT

  开放 mysql 的 3306 端口。

su 
cd /etc/mysql/mysql.conf.d 

vim mysqld.cnf

   注释掉 bind-address:

   打开 port:

   保存退出,重启 mysql 服务:

service mysql restart

  好了,看看 3306 端口是否打开,还是如下命令:

netstat -an|grep 3306

   正常会是这样,如下就是可以了。

  至此,docker 内 mysql 环境配置完成。

5、远程连接验证

   可以用 Navicat 进行远程连接验证,可以参考《【经验分享】ubuntu 配置 mysql 数据库容器与 win10 远程可视化》。

  好了,以上分享了基础 docker 内配置 mysql 数据库远程环境的方法,希望我的分享能对你的学习有一点帮助。


 【公众号传送】

《【经验分享】基础 docker 内配置 mysql 数据库远程环境》


logo_show.gif