Sign inSign up

leaon/mysql

By leaon

Updated over 6 years ago

mysql(测试使用)

Image
1

129

leaon/mysql repository overview

1.USE

  • docker pull leaon/mysql:0.0.3
  • 如果需要远程使用,直接看 第 6 小点

2.UPDATE TAG

  • 0.0.3: 可以开启binglog

3. 说明

  • 在创建MySQL会默认创建一个用户udebian-sys-maint .

  • 在创建前 注意/var/lib/mysqlMySQL数据目录,所有的表以及用户表都在此目录下.

    • -v /var/lib/mysql:/var/lib/mysql 如果宿主机之前装有MySQL数据在/var/lib/mysql目录下,需要先将数据进行备份.
    • /var/lib/mysql 有之前的数据很可能无法创建成功过,
    • 或者指定其他目录
  • 建议创建容器时 使用 --restart=always

  • 注意:在删除容器时,如果没有挂载目录,请将容易的数据进行备份

4. 本地操作

创建容器
自动启动(建议)
docker run -di -p 3306:3306 --restart=always --name mysql leaon/mysql:0.0.3
非自动启动
docker run -di -p 3306:3306  --name mysql leaon/mysql:0.0.3
连接容器
  • 使用默认用户debian-sys-maint 进行连接服务端(root 没有设置本地连接权限)
docker run -it --net=host --rm leaon/mysql:0.0.3 mysql -hlocalhost -udebian-sys-maint 

5. 远程创建(以root用户为例)

创建容器
自动启动(建议)
docker run -di  -e DB_REMOTE_ROOT_NAME=root -e DB_REMOTE_ROOT_PASS=password  -e DB_REMOTE_ROOT_HOST=%  -p 3306:3306 --restart=always --name mysql leaon/mysql:0.0.3
  • DB_REMOTE_ROOT_NAME:远程用户名

  • DB_REMOTE_ROOT_PASS: 远程用户密码

  • DB_REMOTE_ROOT_HOST: 远程用户host,%通配符表示可以在任意主机使用用户登录数据库

非自动启动
docker run -di  -e DB_REMOTE_ROOT_NAME=root -e DB_REMOTE_ROOT_PASS=password -e DB_REMOTE_ROOT_HOST=%  -p 3306:3306  --name mysql leaon/mysql:0.0.3
连接容器
docker run -it --rm leaon/mysql:0.0.3 mysql -h192.168.2.1 -uroot -password
  • -h:指定公网IP

6. 指定数据目录 (建议指定目录)

创建容器
自动启动(建议)
docker run -di  -v /opt/mysql/data:/var/lib/mysql  -e DB_REMOTE_ROOT_NAME=root -e DB_REMOTE_ROOT_PASS=password  -e DB_REMOTE_ROOT_HOST=%  -p 3306:3306 --restart=always --name mysql leaon/mysql:0.0.3
  • 指定挂载数据目录 /opt/mysql/data

  • 如果服务器开启了SELinux 在指定目前时出现没有权限问题

  • 解决:

  • mkdir -p /opt/mysql/data

  • sudo chcon -Rt svirt_sandbox_file_t /opt/mysql/data

  • -R: 目录递归,-t:文件类型, svirt_sandbox_file_t:SELinux中的文件类型

  • SELinux 文件有五部分组成

  • DB_REMOTE_ROOT_NAME:远程用户名

  • DB_REMOTE_ROOT_PASS: 远程用户密码

  • DB_REMOTE_ROOT_HOST: 远程用户host,%通配符表示可以在任意主机使用用户登录数据库


  • 停止容器 docker stop mysql

  • 运行容器 docker start mysql

  • 重新运行 docker restart mysql


非自动启动
docker run -di  -e DB_REMOTE_ROOT_NAME=root -e DB_REMOTE_ROOT_PASS=password -e DB_REMOTE_ROOT_HOST=%  -p 3306:3306  --name mysql leaon/mysql:0.0.3

Tag summary

Content type

Image

Digest

Size

84.8 MB

Last updated

over 6 years ago

docker pull leaon/mysql:0.0.3