1.查看可用的 MySQL 版本

访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags 。

命令来查看可用版本

$ docker search mysql
NAME                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                    MySQL is a widely used, open-source relati...   2529      [OK]       
mysql/mysql-server       Optimized MySQL Server Docker images. Crea...   161                  [OK]
centurylink/mysql        Image containing mysql. Optimized to be li...   45                   [OK]
sameersbn/mysql                                                          36                   [OK]
google/mysql             MySQL server for Google Compute Engine          16                   [OK]
appcontainers/mysql      Centos/Debian Based Customizable MySQL Con...   8                    [OK]
marvambass/mysql         MySQL Server based on Ubuntu 14.04              6                    [OK]
drupaldocker/mysql       MySQL for Drupal                                2                    [OK]
azukiapp/mysql           Docker image to run MySQL by Azuki - http:...   2                    [OK]
2、拉取 MySQL 镜像

$ docker pull mysql:latest

3.查看本地镜像

使用以下命令来查看是否已安装了 mysql

docker images

image

4、设置配置文件和运行容器

创建主机挂载配置文件

mkdir -p /opt/docker-mysql/conf.d

增加并修改配置文件mysql.cnf

[mysqld]
# 表名不区分大小写
lower_case_table_names=1 
#server-id=1
datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysqlx.sock
#symbolic-links=0
# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid 

运行 mysql 容器:

$ docker run -it -d --name mysql -v /opt/docker-mysql/conf.d:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=888888 mysql

参数说明:

  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • -e MYSQL_ROOT_PASSWORD=888888:设置 MySQL 服务 root 用户的密码。
  • –name 设置容器别名为mysql
  • –restart=always 跟随docker启动
  • –privileged=true 容器root用户享有主机root用户权限
  • -v 映射主机路径到容器
  • -d 后台启动
5、相关命令

通过 docker ps 命令查看是否安装成功

本机可以通过 root 和密码 123456 访问 MySQL 服务。

mysql -h localhost -u root -p

进入容器

docker exec -it mysql bash

重启容器

docker restart mysql

登录msql

mysql -uroot -p888888

6.设置不区分大小写

linux下默认是区分的,windows下默认不区分
内容如下,设置表名不区分大小写;

在mysql容器,目录下 etc/mysql/conf.d/mysql.cnf 文件增加

[mysqld]
# 表名不区分大小写
lower_case_table_names=1
7.设置远程访问
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐