Docker 系列2【docker安装mysql】【开启远程连接】

文章目录

  • 前言
  • 开始步骤
    • 1.增加mysql挂载目录
    • 2.下载镜像
    • 2.启动容器
    • 具体步骤
    • 4.无法连接
    • 5.测试连接
  • 总结


前言

本文开始,默认已经安装docker,如果你还没有完成这个步骤,请查看这一篇文章【docker安装与使用】

开始步骤

1.增加mysql挂载目录

mkdir -p /mydata/mysql8/conf
mkdir -p /mydata/mysql8/data

2.下载镜像

docker run mysql:8.0.28 # run 相当于pull create start 三合一

2.启动容器

  • -d 表示后台运行
  • -v 挂载目录到本地,宿主机目录:容器目录,例如:-v /usr/local/nginx:/usr/local/nginx
  • --name 使用的是run命令,--name会作用到create命令表示创建一个name为mysql8的容器
docker run -d -v /mydata/mysql8/data:/var/lib/mysql -v /mydata/mysql8/conf:/etc/mysql/conf.d --name mysql8 -e MYSQL_ROOT_PASSWORD=mysql123 -p 3308:3306 -d mysql:8.0.28

具体步骤

  • 1 增加配置文件

这个选项会导致不使用权限系统来启动服务器,它将让任何用户可以访问服务器并且不受限制的访问所有数据库。在不使用授权表启动服务器后可以通过shell来执行mysqladmin flush-privilegesmysqladmin reload命令或者在连接到服务器后执行flush privileges语句来让正在运行的服务器再次使用授权表。

vi /mydata/mysql8/conf/my.cnf #进入my.cnf文件
# 加入以下内容
[mysqld]
skip-grant-tables

  • 2重启容器服务
docker restart mysql8 # 重启mysql服务
  • 3进入容器内部
docker exec -it mysql8 /bin/bash
  • 4登入mysql
mysql -u root -p #输完这个命令后,输入之前·步骤2·设置的密码mysql123

出现下面的内容表示登入成功

在这里插入图片描述

  • 5 选择mysql数据库
use mysql
  • 6设置允许远程访问
    在正常的情况下mysql的远程访问我们只需要配置东西即可.
    1 防火墙对应端口是否开启,一般是3306
    2 user用户表中是否存在root用户,并且其host列值为%
select user,host from user; # 查看用户表中root用户的配置

在这里插入图片描述
如果root用户的host列为%,即表示此用户可以远程访问,否则可以使用sql进行更改

update user set host='%' where user='root';

如果发现出现了两条root的用户记录,则需要删除一条

4.无法连接

如果无法远程连接,可以执行一下操作

  • 1注释my.cnf中的配置
    vi /mydata/mysql8/conf/my.cnf # 进入文件注释
    
  • 2 防火墙否放开对应端口
    firewall-cmd --zone=public --add-port=3308/tcp --permanent
    
    firewall-cmd --reload
    
    firewall-cmd --list-port
    

5.测试连接

通过客户端工具进行连接即可

总结

以上的流程走完之后你将得到一个,基础的mysql服务。如果想要一个成熟的mysql服务,你还需要实现以下功能。

  • 1.服务器应该进行过性能优化,包括合理的索引设计、查询优化、内存和I/O使用优化等。
  • 2.数据备份和恢复:服务器应该有定期的数据备份策略,并能在数据丢失或损坏时进行数据恢复
  • 3.高可用性:为了保证服务的连续性,服务器应该具备高可用性,例如通过主从复制、负载均衡、故障切换等方式来提高可用性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络原理(1)——UDP协议

目录 一、应用层 举个例子:点外卖 约定数据格式简单粗暴的例子 客户端和服务器的交互: 序列化和返序列化 xml、json、protobuffer 1、xml 2、json 3、protobuffer 二、传输层 端口 端口号范围划分 认识知名的端口号 三、UDP协议 端口 U…

宜搭faas服务器报错Network response was not OK

[error] https://api.dingtalk.com/v1.0/yida/forms/instances? fetch error Error: Network response was not OK 不出意外的话肯定是请求代码的某个部分出了问题:其中formInstanceId和updateFormDataJson是业务的内容 我检查过是没问题的。appType和systemToken…

面试经典-MySQL篇

一、MySQL组成 MySQL数据库的连接池:由一个线程来监听一个连接上请求以及读取请求数据,解析出来一条我们发送过去的SQL语句SQL接口:负责处理接收到的SQL语句查询解析器:让MySQL能看懂SQL语句查询优化器:选择最优的查询…

【C#】【SAP2000】读取SAP2000中所有Frame对象在指定工况的温度荷载值到Grasshopper中

if (build true) {// 连接到正在运行的 SAP2000// 使用 COM 接口获取 SAP2000 的 API 对象cOAPI mySapObject (cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000.API.SapObject");// 获取 SAP2000 模型对象cSapModel mySapModel mySap…

Vue 项目安装依赖提示core-js版本低的处理办法

core-js2.6.12: core-js<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js3. 我是下载一个老的项目&#xff0c;npm install之后提示上面的错误&#xff1b;本…

Linux——ELK日志分析系统

实验环境 虚拟机三台CentOS 7.9&#xff0c; 组件包 elasticsearch-5.5.0.rpm elasticsearch-head.tar.gz node-v8.2.1.tar.gz phantomjs-2.1.1-linux-x86_64.tar.bz2 logstash-5.5.1.rpm kibana-5.5.1-x86_64.rpm 初始…

分享一下自己总结的7万多字java面试笔记和一些面试视频,简历啥的,已大厂上岸

分享一下自己总结的7万多字java面试笔记和一些面试视频&#xff0c;简历啥的&#xff0c;已大厂上岸 自己总结的面试简历资料&#xff1a;https://pan.quark.cn/s/8b602fe53b58 文章目录 SSMspringspring 的优点&#xff1f;IoC和AOP的理解**Bean 的生命周期****列举一些重要…

C++进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解)

C进阶&#xff1a;详解多态&#xff08;多态、虚函数、抽象类以及虚函数原理详解&#xff09; 结束了继承的介绍&#xff1a;C进阶&#xff1a;详细讲解继承 那紧接着的肯定就是多态啦 文章目录 1.多态的概念2.多态的定义和实现2.1多态的构成条件2.2虚函数2.2.1虚函数的概念2…

算法笔记 连载中。。。

HashMap&#xff08;会根据key值自动排序&#xff09; HashMap<String, Integer> hash new HashMap<>() hash.put(15,18) hash.getOrDefault(ts, -1) //如果ts(key)存在&#xff0c;返回对应的value 否则返回-1 hashMap1.get(words1[i])1会报错&#xff0c;因…

Vue2在一个页面内动态切换菜单显示对应的路由组件

项目的需求是在一个页面内动态获取导航菜单&#xff0c;导航菜单切换的时候显示对应的路由页面&#xff0c;类似于tab切换的形式&#xff0c;切换的导航菜单和页面左侧导航菜单是同一个路由组件&#xff0c;只是放到了一个页面上&#xff0c;显示的个数不同&#xff0c;所有是动…

QT下跨平台库实现及移植经验分享

最近在移植公司一个QT桌面软件到android上&#xff0c;有一些公司自定义的库&#xff0c;用了很多windows的api&#xff0c;移植过程很是曲折&#xff0c;在此有一些感悟分享一下~ 一.自编写跨平台库 1.有时候为了程序给第三方用需要编译一些qt封装库&#xff0c;并可能跨平台…

AI智慧校园电子班牌云平台源码

目录 家长端 学校端 电子围栏 亲情通话 课堂答题 移动化管理模式 统一资源管理平台 模板内容智能更换 家校互联 家长端 多场景通话:上学放学联系、紧急遇险求助联系、日常亲情通话关注孩子人身安全:到校离校情况、进入危险区域预警等。 学校端 课堂秩序管理:提高教…

canvas绘制时,画布上有一个镂空的圆形(即背景可见),然后随着动画的进行,这个圆形的边界逐渐扩大至充满整个屏幕

<canvas id"myCanvas" width"800" height"600"></canvas>在不同宽高比的屏幕上&#xff0c;如果canvas元素没有被强制保持与窗口同样的宽高比&#xff08;例如通过CSS设置其宽度和高度百分比或者响应式布局&#xff09;&#xff0c;…

【商业|数据科学主题会议推荐】2024年商业分析与数据科学国际学术会议(ICBADS 2024)

【商业|数据科学主题会议推荐】2024年商业分析与数据科学国际学术会议&#xff08;ICBADS 2024) 征稿主题 &#xff08;以下主题包括但不限于&#xff09; 多媒体决策 决策理论与决策科学 数字市场设计与运营 降维 电子商务 道德决策 财务分析 群体决策与软件 医疗保…

【Linux-网络编程】

Linux-网络编程 ■ 网络结构■ C/S结构■ B/S结构 ■ 网络模型■ OSI七层模型■ TCP/IP四层模型 ■ TCP■ TCP通信流程■ TCP三次握手■ TCP四次挥手 ■ 套接字&#xff1a;socket 主机IP 主机上的进程&#xff08;端口号&#xff09;■ TCP传输文件 ■ 网络结构 ■ C/S结构…

MATLAB中visdiff函数用法

目录 语法 说明 示例 比较两个文件 比较两个文件并指定类型 发布比较报告 visdiff函数的功能是比较两个文件或文件夹。 语法 visdiff(filename1,filename2) visdiff(filename1,filename2,type) comparison visdiff(___) 说明 visdiff(filename1,filename2) 打开比较工…

cdo求多年平均教程

问题描述&#xff1a; 现有模式的输出数据&#xff0c;是以每个月一个文件的方式输出的&#xff0c;现在我想要十年的平均。 解决方法&#xff1a; 求这些数据十年的平均只需要这一行就可以了&#xff0c;首先将2000年到2009年的所有数据选出来&#xff0c;然后用xargs 命令传…

计算机设计大赛 题目:基于大数据的用户画像分析系统 数据分析 开题

文章目录 1 前言2 用户画像分析概述2.1 用户画像构建的相关技术2.2 标签体系2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析3.1 数据格式3.2 数据预处理3.3 会员年龄构成3.4 订单占比 消费画像3.5 季度偏好画像3.6 会员用户画像与特征3.6.1 构建会员用户业务特征标签…

hot100 -- 矩阵

&#x1f442; Peter Pan - kidult. - 单曲 - 网易云音乐 &#x1f442; Bibliothque&#xff08;图书馆&#xff09; - Jasing Rye - 单曲 - 网易云音乐 目录 &#x1f33c;前言 &#x1f33c;二分模板 &#x1f382;矩阵置零 AC 标记数组 AC 标记变量 &#x1f6a9;…

AI新工具(20240313) 用户输入提示词创建任何GIF; 将任意人脸图片转换为另一幅图像的模型

✨ 1: GifShift 用户输入提示词创建任何GIF gifshift是一种工具&#xff0c;可以帮助用户创建任何GIF的新版本。使用gifshift的步骤如下&#xff1a; 上传一个GIF文件或者使用库中的一个GIF。 提供您想要的场景描述&#xff0c;最好选择一些具有代表性的角色&#xff0c;并进…