docker安装 mysql 8.0.32

首先下载 mysql    其次如果虚拟机以前安过mysql  需要把mysql关闭 

命令  永久关闭mysql 但是当前不生效 需要重启虚拟机 systemctl enable mysqld   

如果不想重启虚拟机  可以执行  systemctl stop mysqld

//指定版本       
 
docker pull mysql:8.0.32
 
 
// 拉取最新的mysql
docker pull mysql:latest

 二、查看镜像

docker images

 

 三、创建要挂载的文件夹

[root@~]# mkdir -p /opt/docker/mysql8/conf/
[root@~]# mkdir -p /opt/docker/mysql8/logs/
[root@~]# mkdir -p /opt/docker/mysql8/data/ 

 # 拷贝一份配置文件,先随便启动一个镜像
docker run -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=5255  -d mysql:8.0.32
 
# 启动成功后,进入容器内部拷贝配置文件,到宿主主机
docker cp  mysql8:/etc/mysql /opt/docker/mysql8/conf
 
# 删除刚才的容器,重新创建容器
# 先停止容器
docker stop mysql8
 
# 再删除容器
docker rm mysql8
 

四、执行容器

启动mysql ,挂载配置文件,数据持久化到宿主主机

docker run  -itd  -p 3306:3306 --name mysql8 -e character-set-server=utf8mb4 --privileged=true  --restart unless-stopped  -v /opt/docker/mysql8/conf/mysql:/etc/mysql  -v /opt/docker/mysql8/logs:/logs  -v /opt/docker/mysql8/data:/var/lib/mysql -v /etc/localtime:/etc/localtime  -e MYSQL_ROOT_PASSWORD=5255 -d mysql:8.0.32 --lower_case_table_names=1

 命令解释:

-p 端口映射
–name 容器名字,自定义
–privileged=true 挂载文件权限设置
–restart unless-stopped 设置 开机后自动重启容器
-v /opt/docker/mysql8/conf/mysql:/etc/mysql 挂载配置文件
-v /opt/docker/mysql8/logs:/logs \ 挂载日志
-v /opt/docker/mysql8/data:/var/lib/mysql \ 挂载数据文件 持久化到主机,
-v /etc/localtime:/etc/localtime 容器时间与宿主机同步
-e MYSQL_ROOT_PASSWORD=123456 设置密码
-d mysql:8.0.32 后台启动,mysql
--lower_case_table_names=1  要加在镜像名后面,镜像名前面是参数,后面是mysql配置,不然会报错 

查看容器状态

docker ps

五、配置远程连接

 # 进入容器
docker exec -it mysql8 /bin/bash
 
# 打开MySQL 命令行 密码 5255
mysql -uroot -p
 
use mysql;
 
# 创建账户
CREATE USER 'adminx'@'%' IDENTIFIED BY '123456';
 
# 授权账户
GRANT ALL ON *.* TO 'adminx'@'%';
 
# 刷新权限
 
FLUSH PRIVILEGES;

退出 mysql客户端   exit 或者ctrl+c

六、密码正确,登录错误

2、进入容器
$ docker exec -it mysql bash
1
3、修改配置文件
3.1 进入 /etc/mysql/conf.d 文件目录:
 
$ cd /etc/mysql/conf.d
1
3.2 创建MySQL配置文件:mysql.cnf
 
$ touch mysql.cnf
1
3.3 在 mysql.cnf 配置文件中填充以下内容

echo mysql.cnf [mysqld] \ skip-grant-tables >>
 
[mysqld]
# 跳过密码登录
skip-grant-tables
1
2
3
3.4 退出容器,重启mysql容器
 
$ exit
$ docker restart mysql

 七、配置mysql的字符集

需要创建   vim /opt/mysql.cnf

并复制以下内容

[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 跳过密码登录
#skip-grant-tables
#bind-address = 127.0.0.1
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
lower_case_table_names=1

 

 然后执行

docker cp /opt/mysql.cnf mysql8:/etc/mysql/conf.d

 

安装完以后测试本地windows系统上的   navicat 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【linux】ps的基本使用

ps是linux中用于显示进程的工具,确切来说是显示活动进程的工具 ps的基本格式是 ps [选项] sh-3.2# ps --help ps: illegal option -- - usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]][-g grp[,grp...]] [-u [uid,uid...]][-p pid[,pid..…

[小程序]API、数据与事件

一、API ①事件监听API 以on开头,用来监听事件的触发(如wx.inWindowResize) ②同步API 以Sync结尾,且可以通过函数返回值获取,执行错误会抛出异常(如wx.setStorageSync) ③异步API 类似网页中的…

torchtext安装及常见问题

Pytorch 、 torchtext和Python之间有严格的对应关系: 在命令窗中安装torchtext pip install torchtext 注意这种安装方式,在pytorch版本与python版本不兼容时动会自动更新并安装pytorchcpu版本,安装的新版本pytorch可能会不兼容。慎用。 …

VUE--组件通信(父子)

1、什么是组件通信 组件通信就是指组件与组件之间的数据传递。因为组件的数据是独立的,无法直接访问其他组件的数据,想获取其他组件的数据,就需要用到组件通信。 2、组件关系分类(如图) ● 父子关系(props…

代码随想录算法训练营第五十六天|583. 两个字符串的删除操作、72. 编辑距离

代码随想录算法训练营第五十六天|583. 两个字符串的删除操作、72. 编辑距离 两个字符串的删除操作 583. 两个字符串的删除操作 文章讲解:https://programmercarl.com/0583.%E4%B8%A4%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E5%88%A0%E9%99%A4%E6%93%8D%E4…

虚拟机安装宝塔的坑

问题: 在虚拟机中centos7和centos8中安装宝塔之后,无法访问面板。 解决: 1.先关闭防火墙(如果本机能够ping通相关端口,则不用关闭防火墙) 2.最新的宝塔会自动开启ssl协议,需要手动关闭。…

Python连接数据库的梳理

我们通常用的数据库类型主要有关系型数据库,非关系型数据库等,其中关系型数据库主要有Microsoft SQL Server ,MySQL,Oracle,SQLite等,常用的非关系型数据库包括Redis、DynamoDB,MongoDB等 ​​​​​​​ 一 关系型…

MongoDB之索引

常用命令 查看表的索引 db.<table>.getIndexes() 查看表索引的大小 db.<table>.totalIndexSize() 重建索引 db.<table>.reIndex() 删除索引 db.COLLECTION_NAME.dropIndex("INDEX-NAME") db.COLLECTION_NAME.dropIndexes() _id 索引无法删…

MCU最小系统原理图中四个问题详解——芯片中有很多电源管脚的原因(VDD/VSS/VBAT)、LC滤波、两级滤波、NC可切换元件

前言&#xff1a;本文对MCU最小系统原理图中的四个问题进行详解&#xff1a;芯片中有很多电源管脚的原因&#xff08;VDD/VSS/VBAT&#xff09;、LC滤波、两级滤波、NC可切换元件。本文以GD32F103C8T6最小系统原理图举例 目录&#xff1a; 芯片中有很多电源管脚的原因&#x…

echarts dataZoom实现左右滑动与放大缩小 并精确控制显示几条数据

//Xdata是横轴的长度&#xff08;若x轴80条数据&#xff0c;默认显示最新的20条&#xff09; var start Xdata.length - 20; var end Xdata.length - 1; dataZoom: [ type: slider, show: true, startValue: dataZoomStart, endValue: dataZoomEnd, dataBackground: { ar…

ESP-IDF Modbus从站例子

支持的芯片型号ESP32ESP32-C2ESP32-C3ESP32-C6ESP32-H2ESP32-S2ESP32-S3 Modbus从站例子 此示例演示了使用FreeModbus协议栈来实现ESP32作为从站设备来进行通信&#xff0c; 该示例允许外部 Modbus主站使用 Modbus协议读取/写入的从站设备参数&#xff0c; “mb_example_comm…

Webpack5入门到原理20:Vue 脚手架搭建

开发模式配置 // webpack.dev.js const path require("path"); const ESLintWebpackPlugin require("eslint-webpack-plugin"); const HtmlWebpackPlugin require("html-webpack-plugin"); const { VueLoaderPlugin } require("vue-lo…

STL——list

1、list介绍 1. list 是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list 的底层是带头双向循环链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后…

CVE-2023-46226 Apache iotdb远程代码执行漏洞

项目介绍 Apache IoTDB 是针对时间序列数据收集、存储与分析一体化的数据管理引擎。它具有体量轻、性能高、易使用的特点&#xff0c;完美对接 Hadoop 与 Spark 生态&#xff0c;适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。 项目地址 https://io…

Leetcoder Day9|栈与队列part01

语言&#xff1a;Java/C 目录 理论基础 C 栈 队列 Java 栈 队列 ​编辑 232.用栈实现队列 225. 用队列实现栈 Queue Deque 今日心得 理论基础 又是考研时数据结构里接触到的老朋友&#xff0c;栈是先进后出&#xff0c;队列是先进先出。 C 现在刷题除了思路还…

力扣-202. 快乐数解析-弗洛伊德循环查找算法

题目链接 public static void Happy(int n) {int sum 0;int digit 0;for (int i 0; i < 20; i) {while (n ! 0) {digit n%10;sum digit*digit;n/10;}System.out.print(sum " ");n sum;sum 0;}} 使用代码测试一下每一代数字 n 2 : 4 16 37 58 89 145 42 …

【笔记】Helm-3 主题-9 Helm高级技术

Helm高级技术 这部分解释说明了使用Helm的各种高级特性和技术。这部分旨在为Helm的高级用户提供高度自定义和操作chart及发布的信息。每个高级特性都会有它自己的权衡利弊&#xff0c; 因此每个使用它们的都要有Helm的深度知识并小心使用。或者换言之&#xff0c;谨记 Peter Pa…

医院挂号系统

需求&#xff1a; 科室管理&#xff1a;新增科室。医生管理&#xff1a;录入医生信息&#xff0c;以及科室信息。修改医生信息&#xff08;主要是修改个人信息和科室&#xff09;。坐诊信息设置&#xff1a;可以设置医生当天和未来6天的坐诊情况&#xff0c;包括上午和下午的坐…

自然语言处理(Natural Language Processing,NLP)解密

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

Servlet中service()与doGet() doPost() 是什么关系

Servlet&#xff08;Server Applet&#xff09;&#xff0c;全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据&#xff0c;生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口&#xff0c;广义的Servlet是指任何实现了这个Servlet…