首页 > 数据库 >Docker安装mysql

Docker安装mysql

时间:2024-05-06 16:46:46浏览次数:17  
标签:容器 service utf8 mysql MySQL home Docker 安装

  1. docker pull mysql:5.7:从Docker Hub上拉取MySQL 5.7的镜像。
  2. docker images:列出所有已下载的镜像,确认MySQL 5.7是否已经成功下载。
  3. mkdir -p /home/service/mysql/data:创建一个用于存放MySQL数据的目录。
  4. mkdir -p /home/service/mysql/conf:创建一个用于存放MySQL配置文件的目录。
  5. cd /home/service/mysql/conf:切换到MySQL配置文件目录。

         6.touch my.cnf 

[mysqld]
user=mysql                                                                       
character-set-server=utf8
default_authentication_plugin=mysql_native_password
default-time_zone = '+8:00'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

  1. [mysqld]:这个部分包含了MySQL服务器的配置。

    • user=mysql:指定了MySQL服务的运行用户为mysql。
    • character-set-server=utf8:设置了MySQL服务器默认的字符集为utf8。
    • default_authentication_plugin=mysql_native_password:指定了MySQL服务器默认的认证插件为mysql_native_password。
    • default-time_zone = '+8:00':设置了默认的时区为东八区(GMT+8)。
  2. [client]:这个部分包含了客户端的配置。

    • default-character-set=utf8:设置了客户端默认的字符集为utf8。
  3. [mysql]:这个部分包含了MySQL客户端程序的配置。default-character-set=utf8:设置了MySQL客户端程序默认的字符集为utf8。

         docker run -p 3306:3306 --name mysql -v /home/service/mysql/logs:/logs -v /home/service/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=Wing1Q2W#E -d mysql:5.7

这个命令运行了一个 MySQL 5.7 容器,并且:

  • -p 3306:3306:将容器内的 MySQL 服务端口映射到主机的端口 3306,这样可以从主机访问 MySQL 服务。
  • --name mysql:给容器取了一个名字叫做 "mysql",以便于后续管理和操作。
  • -v /home/service/mysql/logs:/logs:将主机上的 /home/service/mysql/logs 目录挂载到容器内的 /logs 目录,可能用于 MySQL 的日志记录。
  • -v /home/service/mysql/data:/mysql_data:将主机上的 /home/service/mysql/data 目录挂载到容器内的 /mysql_data 目录,用于持久化 MySQL 的数据。
  • -e MYSQL_ROOT_PASSWORD=Wing1Q2W#E:设置了 MySQL 的 root 用户的密码为 "*****"。这个环境变量会被容器内的 MySQL 镜像使用,用来设置 MySQL 数据库的 root 用户的密码。
  • -d:让容器在后台以守护进程方式运行,即使当前终端退出也不会停止容器运行。

       docker exec -it mysql bash   这个命令尝试在名为 "mysql" 的容器中执行一个交互式的 Bash shell。这个命令的含义是:

  • docker exec:在运行的容器中执行命令。
  • -it:指定交互式终端(interactive TTY),使得我们可以与 Bash shell 进行交互。
  • mysql:要执行命令的容器的名称或者ID。
  • bash:要执行的命令,这里是启动 Bash shell。

通过这个命令,你可以在 MySQL 容器中进入一个交互式的 Bash shell,从而进行一些诊断、配置或者其他操作。

       CREATE USER 'admin'@'%' IDENTIFIED BY '******';

       GRANT ALL ON *.* TO 'admin'@'%';

       flush privileges; 

这些 MySQL 命令用于创建一个名为 "admin" 的用户,允许从任何主机('%')连接,并且授予该用户对所有数据库的所有权限。下面是每个命令的解释:

  1. CREATE USER 'admin'@'%' IDENTIFIED BY 'Wing1Q2W#E';:创建一个名为 "admin" 的用户,并指定该用户可以从任何主机('%')连接,密码为 'Wing1Q2W#E'。

  2. GRANT ALL ON *.* TO 'admin'@'%';:授予用户 "admin" 对所有数据库('.')的所有权限。这包括对所有数据库的所有表进行 SELECT、INSERT、UPDATE、DELETE 等操作的权限。

  3. flush privileges;:刷新权限,使新的权限设置立即生效。

执行这些命令后,用户 "admin" 将拥有对 MySQL 服务器上的所有数据库的完全访问权限。

        

          docker ps 查看启动状态

 

 

标签:容器,service,utf8,mysql,MySQL,home,Docker,安装
From: https://www.cnblogs.com/yellowmiaoya/p/18175313

相关文章

  • MySQL排序时, ORDER BY将空值NULL放在最后
    我们在日常工作当中;往往业务会提到一些莫名其妙的排序等规则;例如:按照某个字段升序排列,同时空值放在后面;但mysql默认升序排列时空值是在最前面;有下面几个方法:方法一:ORDERBY字段ISNULL,字段;方法二:SELECT*FROMtestORDERBYIF(ISNULL(字段),1,0),字段DESC;方法......
  • 你知道什么是 MySQL Online DDL 吗?
    前言MySQL在进行DDL操作时,可能会产生表锁导致阻塞,影响用户的DML操作,而OnlineDDL指的是在DDL期间,允许用户进行DML操作。本文将详细讲解MySQL各版本的OnlineDDL。关于什么是DDL和DML操作,详细介绍见MySQL操作命令总结。1.什么是OnlineDDLOnlineDDL......
  • 记录一下docker踩坑 /dev/shm目录
    /dev/shm是Linux系统中的一个特殊目录,用于作为临时文件存储的一种形式,它将数据存储在RAM(随机存取存储器)中,而不是在磁盘上。这意味着在/dev/shm中存储的数据访问速度非常快,但数据在系统重启后不会被保留。/dev/shm是POSIX共享内存(POSIXSharedMemory)的一部分,它允许不同的进程(程序......
  • docker安装
      uname-r查看系统版本号  yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2   这个命令是用来在基于RPM的Linux发行版上安装一些必要的软件包。具体来说,它安装了以下软件包:yum-utils:这是一个命令行工具集合,提供了许多有用的功能,如清理缓存、......
  • Linux 和 Windows11双系统安装
    阅读目录1.下载Linux系统2.制作Linux系统启动盘3.电脑分盘4.安装Ubuntu系统5.安装完成后可能遇到的黑屏问题解决回到顶部1.下载Linux系统下载Linux系统的镜像文件,Linux系统有很多版本,Linux指的是系统内核,笔者下载的是Ubuntu系统,大家可以根据需要下载其他系统。Ubuntu......
  • Ubuntu18 安装NoMachine远程桌面(解决远程桌面延迟)
    #问题:Ubuntu18使用自带的共享桌面、VNC远程桌面延迟、降低分辨率也无效。#方案:最后找到安装NoMachine的远程桌面,解决远程卡顿问题根据自己操作系统选择NoMachineforLinux进行下载官网:https://downloads.nomachine.com/#出处:#https://www.cnblogs.com/liucx/#安装方......
  • AnsysEM安装教程(Linux)
    前期准备解压相关安装文件unzipCrack.zip将安装iso文件挂载到/mnt/AnsysEM目录下sudomkdir/mnt/AnsysEmsudomountAnsys.Electronics.2021.R1.Linux64.iso/mnt/AnsysEM/-oloop转到/mnt/AnsysEM/目录下,打开Readme文件查看安装步骤教程创建AnsysEM安装目录sudomkd......
  • 【转】在 Linux 里布署 Docker
    来自:百度Docker可以布署在Linux系统上,也可以布署在你自己的电脑上。在Linux系统上布署Docker:安装Docker:curl-fsSLhttps://get.docker.com-oget-docker.shsudoshget-docker.sh启动Docker服务:sudosystemctlstartdocker使Docker开机自启:sudosyste......
  • mysql 的常用批量更新
    批量更新inupdatetableNamesetcolumnName=valuewherecolumnNamein(value1,value2,value3);有局限性,限制了更新的属性值必须一致。如果不一致,需要分开写多个update语句。insertinto...onduplicatekeyupdateinsertintotableName(columnName1,columnName2)......
  • 入门学习Docker部署Vue+NetCore+MsSql
    最近vultr的主机经常忘了续租,导致账号被禁用,主机被删掉每次重新部署都忘了之前怎么弄的,要重新查好多资料每个月6美金的主机XShell连接主机IP先安装docker开启docker服务镜像容器tar文件 saveload dockerimagesdockercommitbuildDockerfilepull仓库 查看......