首页 > 数据库 >Docker运行mysql

Docker运行mysql

时间:2022-12-31 10:56:06浏览次数:43  
标签:容器 -- cnf mysql 3306 Docker docker 运行

1、 拉取mysql5.7镜像

docker pull mysql:5.7

2、 创建用于挂载的目录(日志目录、数据目录、配置目录)

 

3、 在conf目录下创建my.cnf配置文件

my.cnf内容如下:

[mysqld]

user=mysql

character-set-server=utf8mb4

default_authentication_plugin=mysql_native_password

secure_file_priv=/var/lib/mysql

expire_logs_days=7

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

max_connections=1000

skip-name-resolve



[client]

default-character-set=utf8mb4



[mysql]

default-character-set=utf8mb4

  

4、 使用docker命令创建容器

docker run --restart=always --network=mybridge --ip 172.18.18.100 -p 13306:3306 --name mysql-server-1 -v E:\docker\mysql\conf:/etc/mysql  -v E:\docker\mysql\logs:/var/log/mysql -v E:\docker\mysql\data:/var/lib/mysql -v E:\docker\mysql\conf\my.cnf:/etc/mysql/my.cnf  --privileged=true -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

 

命令参数解释:

--restart=always,当docker重启时,容器也重启

--name,容器命名

--network=mybridge,指定网络

--ip,指定固定ip

-p 3306:3306,宿主机和容器端口映射

-v(此命令中有三个-v参数) 挂载数据等内容,避免容器重启造成的数据丢失

--privileged 权限配置,一般和-v配合使用

-e 设置环境变量(此处设置了mysql的密码)

-d 后台启动(容器不会因为shell的退出而停止运行)

 

5、连接mysql

5.1 在命令行连接

进入mysql容器(可以使用名称或容器ID进入):docker exec -it mysql-server-1 /bin/bash

连接mysql服务器:mysql -uroot -proot

列出数据库:show databases;

5.2 使用Navicat远程连接

点击连接,选择mysql,输入ip地址与用户名密码,端口由于直接使用的宿主机的13306映射的mysql容器内的3306端口,因此直接写13306即可,写完后点击测试链接,显示连接成功即OK。

 

标签:容器,--,cnf,mysql,3306,Docker,docker,运行
From: https://www.cnblogs.com/mrlinfeng/p/15806869.html

相关文章

  • Docker部署nginx并挂载配置
    1、下载镜像并启动一个容器dockerpullnginx创建容器并运行dockerrun-d--namemynginx-p80:80 2、将nginx配置文件挂载到宿主机在宿主机创建目录: ......
  • MySQL报错解决
    1mysql报错解决mysql>grantallon*.*to"dba"@"%"identifiedby"mysql123";ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirement......
  • MySQL slave upgrade: Slave failed to initialize relay log info structure from th
    MySQL slaveafterupgradefrom 5.6.x to 5.7.x maythrowthefollowingerror:12mysql>STARTSLAVE;ERROR1872(HY000):Slavefailedtoinitiali......
  • C7下的docker 安装
    docker安装#step1:安装必要的一些系统工具sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#Step2:添加软件源信息sudoyum-config-manager......
  • mysql调优
    一、insert调优1、插入多条数据时最好批量插入(但一般不超过一千条)2、手动提交事务,多条语句一起提交starttransaction;insertintotablevalues(),(),();......
  • win11 运行安卓程序 详细步骤
    Android子系统的要求确保Windows11版本为22000.xxx或更高版本。硬件必须支持并启用BIOS/UEFI虚拟化确保微软商店版本为22110.1402.6.0或更高版本,并单击“获取更新”按......
  • mysql有关事务与Lock之间的爱恨情仇
    MySQL基础属性查询查询事务提交机制mysql>select@@autocommit;+--------------+|@@autocommit|+--------------+|0|+--------------+1rowi......
  • mysql的登录注册和连接他人数据库以及卸载
    mysql的登录参数:mysql-u用户名-p密码mysql的登录参数2:mysql-u用户名-p ,然后会提示你输入密码mysql的登录参数加连接他人数据库::mysql-u用户名-p密码-h要连接my......
  • go连接mysql
    go连接mysqlpackagemainimport( "database/sql" "fmt" "time" _"github.com/go-sql-driver/mysql")//定义一个全局对象dbvardb*sql.DBfuncinitDB()(......
  • Java面试题之 mysql面试题
    文章目录​​导言​​​​MySQL的逻辑架构​​​​1.reference​​​​2.架构图​​​​3.日志介绍​​​​一、mysql存储引擎​​​​1.存储引擎是什么​​​​2.各......