首先上来还是直接操作吧,如果有需要先安装docekr的话,可以自己去docker的官网去查看和下载 docker安装详情 大家可以自行选择适合自己的系统进行安装,按照步骤一步一步来的话应该是没啥问题的。

第一步的话还是首先去搜索mysql的容器

sudo docker search mysql      #普通用户需要加sudo 冒号后是版本号

生产环境使用docker安装Mysql 生产环境mysql放docker_mysql


拉取mysql镜像

sudo docker pull mysql:5.5  #冒号后是版本号

拉取下来后查看拉取的镜像

sudo docker image ls

运行拉取下来的镜像构建成容器并且挂载配置文件

sudo docker run --name mysql -p 3306:3306  -v ./conf:/etc/mysql/conf.d -v ./logs:/logs -v ./data:/var/lib/mysql -e MYSQL\_ROOT\_PASSWORD=123 -d mysql/mysql-server:5.5
  • -v: 映射目录/文件
  • -e: 运行参数 初始化 root 用户的密码
  • -d: 后台运行 mysql/mysql-server:5.5 下载的镜像名字加标签
  • -v:./conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。//配置文件目录
  • -v: ./logs:/logs:将主机当前目录下的 logs 目录挂载到容器的/logs。//日志目录
  • -v: ./data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。//数据库文件存放目录

如果不需要挂载配置文件的话

sudo docker run --name mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123 -d mysql/mysql-server:5.5

运行起来mysql容器后目前暂时还是无法连接mysql的,需要修改一些配置才可远程连接到mysql服务

进入mysql容器

sudo docker exec -it mysql bash

连接到mysql

mysql -u root -p        #密码在上面设置了是 123

输入如下代码修改mysql的远程连接权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH  GRANT OPTION;

FLUSH   PRIVILEGES;

在此之后即可用连接工具连接到mysql了,账号是root,密码是 123

但是呢,在linux内mysql是区分大小写的,如果想修改此项配置的话

修改etc/my.cnf

在[mysqld]的节点下面添加一行lower_case_table_names=1  #表名全部为小写,避免出现大小写敏感

参数含义:

lower_case_table_names: 此参数不可以动态修改,必须重启数据库
	lower_case_table_names = 1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
	lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的 
	lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的

	unix下lower_case_table_names默认值为 0 .Windows下默认值是 1 .Mac OS X下默认值是 2

重启mysql服务,service mysqld restart 即可

查看mysql的ip地址:

sudo docker inspect mysql