docker安装mysql8.0.23

拉取镜像

docker pull mysql:8.0.23

创建挂载文件

mkdir -p /home/docker/mysql/conf
mkdir -p /home/docker/mysql/data
mkdir -p /home/docker/mysql/logcd /home/docker/mysql/conf
touch my.cnf#授权
chmod 777 -R /home/docker/mysql/conf
chmod 777 -R /home/docker/mysql/data
chmod 777 -R /home/docker/mysql/log

编辑my.cnf

vi my.cnf

内容如下:

default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve[mysqld]# 不区分大小写
lower_case_table_names = 1#开启慢查询
slow_query_log = ON
#修改慢sql的阈值,sql执行超过阈值的时候就会记录到慢日志的log文件中
long_query_time = 1#由于在MySQL5.7版本以上,默认设置SQL_Mode模式,在模式里有NO_ZERO_DATE,NO_ZERO_IN_DATE,存在表示系统里DATE类型字段不能有0值
sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'#Mysql报错Packet for query is too large问题解决
max_allowed_packet=4M

启动容器

docker run -d \
--name mysql \
-p 3306:3306 \
--privileged=true \
--restart=always \
-v /home/docker/mysql/log:/var/log/mysql \
-v /home/docker/mysql/data:/var/lib/mysql \
-v /home/docker/mysql/conf/my.cnf:/etc/my.cnf \
-e MYSQL_ROOT_PASSWORD=密码 \
mysql:8.0.23

创建用户和授权

#进入容器内部
docker exec -it 容器id /bin/bashmysql -u root -p
密码#创建用户和密码,以及授权
create user 'gxj'@'localhost' identified by '密码';
grant all on *.* to 'gxj'@'localhost';
flush privileges;#找到mysql数据库
use mysql;
#查看结果是不是root用户仅允许本地 localhost 登录,是的话,就要修改它的host为%,表示任意IP地址都可以登录
select host ,user from user;#手动修改,把root 的locahost改为%(原作者那是单引号,应该用双引号)
update user set host ="%" where user="gxj";
flush privileges;

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

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

相关文章

C++类的成员:静态成员变量、静态成员函数、非静态成员变量、非静态成员函数

(1) 类的成员 A.What(什么是类的成员) 是组成类的基本构建,包含数据成员、静态成员和 成员函数 B.Which(类的成员有哪些) 数据成员: 用于存储与类的对象相关的数据,例如整数、浮点数、字符串、…

2通道音频ADC解码芯片ES7243L、ES7243E、ES7243,用于低成本实现模拟麦克风转换为IIS数字话筒

前言: 音频解码芯片某创参考价格: ES7243L 500:¥1.36 / 个 ES7243E 500:¥1.66 / 个 ES7243 500: ¥1.91 / 个 其中ES7243L工作电压为1.8V,与其他两款的3.3V工作电压不同&…

ESP32-C3模组上跑通AES-GCM(2)

接前一篇文章:ESP32-C3模组上跑通AES-GCM(1) 本文内容参考: mbedtls学习笔记 AES GCM_aes128 gcm的aad是什么-CSDN博客 https://www.cnblogs.com/testlearn/p/16547583.html 对称加密和非对称加密,一文讲解明白!-CSDN博客 深入理解高级加密标准(Advanced Encryption…

日本IT-SIER/SES的区别详情、契约形态等

一、SLER 主要的服务内容就是“帮客人开发系统或是各种APP,并在指定期间内交货,交货后也会持续进行运维等售后服务”。 客人很广泛,小到普通的服务业商家(餐饮店/服饰店/美容业/电商)大到各种公共/政府机关&#xff…

【面试题】串联探针和旁挂探针有什么区别?

在网络安全领域中,串联探针和旁挂探针(通常也被称为旁路探针)是两种不同部署方式的监控设备,它们各自具有独特的特性和应用场景。以下是它们之间的主要区别: 部署方式 串联探针:串联探针一般通过网关或者…

`padding`、`border`、`width`、`height` 和 `display` 这些 CSS 属性的作用

盒模型中的属性 padding(内边距) padding 用于控制元素内容与边框之间的空间,可以为元素的每个边(上、右、下、左)分别设置内边距。内边距的单位可以是像素(px)、百分比(%&#xf…

Lambda架构与Kappa架构的特性对比

一个大数据系统架构的设计思想很大程度上受到当时技术条件和思维模式的限制。Lambda架构将批处理层和速度层分为两层,分别进行离线数据处理和实时数据处理,这样设计的根本原因在于,Lambda提出的初期是在公司中进行小范围的业务运用&#xff0…

从Java开发者到.NET Core初级工程师学习路线:C#语言基础

1. C#语言基础 1.1 C#语法概览 欢迎来到C#的世界!对于刚从Java转过来的开发者来说,你会发现C#和Java有很多相似之处,但C#也有其独特的魅力和强大之处。让我们一起来探索C#的基本语法,并比较一下与Java的异同。 程序结构 C#程序…

MySQL-数据库管理:优化、安全、合规与迁移的全面解析

1. 数据库设计 1.1 需求分析 数据库设计的第一步是深入理解应用的需求。这通常涉及到与项目团队(包括产品经理、开发者、业务分析师等)的紧密合作,以确保数据库设计能够准确地反映业务需求。需求分析阶段的关键活动包括: 收集信…

第一百四十九节 Java数据类型教程 - Java子字符串、字符串转换

Java数据类型教程 - Java子字符串 获取子字符串 我们可以使用substring()方法来获取字符串的子部分。 我们可以将开始索引作为参数,并返回一个从开始索引开始到字符串结尾的子串。 我们还可以将开始索引和结束索引作为参数。 它返回从开始索引开始的子字符串和小…

linux高级编程(文件I/O)

标准I/O与文件I/O的区别: 文件操作: 缓存 操作对象 具体操作 标准IO 全缓存/行缓存 文件指针(流指针)FILE * 1.打开 --fopen 2.读写 …

Windows右键没有新建Word、PPT与Excel的解决方法

本文介绍在Windows电脑中,右键与资源管理器的“新建”选项中,都没有新建Word、PPT或Excel文件的解决方法。 最近,发现一台重装了系统与Office的电脑中,无论是桌面上与资源管理器中的右键,还是资源管理器左侧顶部的“新…

力扣1546.和为目标值且不重叠的非空子数组的最大数目

力扣1546.和为目标值且不重叠的非空子数组的最大数目 从头开始找 找到满足条件的就清空哈希表 class Solution {public:int maxNonOverlapping(vector<int>& nums, int target) {int n nums.size();vector<int> s(n1);for(int i0;i<n;i) s[i1] s[i] n…

手写简单模拟mvc

目录结构&#xff1a; 两个注解类&#xff1a; Controller&#xff1a; package com.heaboy.annotation;import java.lang.annotation.*;/*** 注解没有功能只是简单标记* .RUNTIME 运行时还能看到* .CLASS 类里面还有&#xff0c;构建对象久没来了&#xff0c;这个说明…

掌握Vue 3生命周期:从组合式API到高效代码实践

引言 在 Vue 3 中&#xff0c;生命周期的概念得到了进一步的优化和简化。Vue 3 引入了组合式 API&#xff08;Composition API&#xff09;&#xff0c;这为开发者提供了更灵活的方式来组织和重用代码逻辑。与传统的选项式 API&#xff08;Options API&#xff09;相比&#x…

node-sass 老版本4.14.0 安装失败解决办法

旧项目 npm install 发现 node-sass 安装 失败 切换淘宝镜像之后 不能完全解决问题。因为需要编译&#xff0c;本地没有Python环境不能实现 安装node-sass时&#xff0c;在install阶段会从Github上下载一个叫binding.node的文件&#xff0c;而「GitHub Releases」里的文件…

C++编译链接原理

从底层剖析程序从编译到运行的整个过程 三个阶段 一、编译阶段二、链接阶段三、运行阶段 为了方便解释&#xff0c;给出两端示例代码&#xff0c;下面围绕代码进行实验&#xff1a; //sum.cpp int gdata 10; int sum(int a,int b) {return ab; }//main.cpp extern int gdata…

Stream流的简单用法

filter //stream流中的filter //filter 方法用于通过设置的条件过滤出元素。以下代码片段使用 filter 方法过滤掉空字符串&#xff1a; List<String> filter Arrays.asList("mz", "", "mz55", "m", "MZ"); Stream&l…

初始redis:在Ubuntu上安装redis

1.先切换到root用户 使用su命令切换到root 2.使用apt命令来搜索redis相关的软件包 命令&#xff1a;apt search redis 3.下载redis 命令&#xff1a; apt install redis 在Ubuntu 20.04中 &#xff0c;下载的redis版本是redis5 4.查看redis状态 命令&#xff1a; netst…

Python自动化测试系列[v1.0.0][高效自动化设计]

Python多线程应用于自动化测试 将多线程在测试巧妙地应用&#xff0c;确实会带来很多好处&#xff0c;并且这是充分利用机器资源执行高效率测试很好的方式 # -*- coding: utf-8 -*- import threading from time import ctime import time from selenium import webdriverdef …