【Docker 攻略】MySQL 安装篇 | 安装资料库 好快的说 !

说明

以下为「 Docker 安装 MySQL 」影片中,使用到的文件内容。

除了安装步骤还会介绍 Docker 是什麽 ? 以及为什麽要使用 Docker !

学会後,以後资料库的安装,都可以向 Python 的 pip 一样,一行指令,动作直接完成 !


Docker 官网

https://www.docker.com/


Docker Hub

https://hub.docker.com/_/mysql


Docker 映像

拉取 mysql 映像

docker pull mysql:8

检查映像

docker images

检查 mysql 映像

docker images | grep mysql

Output:

REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        8         0716d6ebcc1a   10 days ago   514MB

删除映像

docker rmi ${IMAGE ID}
docker rmi 0716d6ebcc1a

Docker 容器

运行 mysql 容器

docker run --name sql2 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Dev127336 -d mysql:8

参数功能:

  • run : docker 建立 container 并且执行的指令
  • --name : 指定容器为 sql2
  • -p 3306:3306 : 将容器的 3306 端口映射到主机的 3306 端口。
  • -e MYSQL_ROOT_PASSWORD=Dev127336 : 初始化 root 用户的密码为 Dev127336。
  • -d mysql:8 : 背景执行 MySQL 映像

检查容器 (运行中)

docker ps

Output:

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                                  NAMES
925859fd62b1   mysql:8   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   sql2

停止容器

docker stop sql2

检查容器 (全部)

docker ps -a

Output:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                       PORTS     NAMES
115863d85607   mysql:8   "docker-entrypoint.s…"   24 seconds ago   Exited (137) 2 seconds ago             sql2

启动容器

docker start sql2

进入容器

docker exec -it sql2 bash

退出容器

exit

删除容器

docker rm sql2

进入容器

进入到 Linux 的操作环境

docker exec -it sql2 bash

登录 mysql

mysql -u root -p

修改 Root 密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Dev127336';
  • 之前如果未设定正确,可以再用 SQL 修改。

添加远程登录用户

CREATE USER 'DevAuth'@'%' IDENTIFIED WITH mysql_native_password BY 'Dev127336';
GRANT ALL PRIVILEGES ON *.* TO 'DevAuth'@'%';
  • CREATE USER : 创建使用者
  • GRANT : 权限设定

SQL 测试

资料库

create database DevDb; -- 创建资料库
show databases; -- 显示资料库
use DevDb; -- 使用资料库

资料表

创建:

drop table if exists app_info;
create table app_info (
    id int auto_increment primary key ,
    name nvarchar(50),
    version nvarchar(30),
    author nvarchar(50),
    remark nvarchar(100)
);

资料:

insert into app_info(name,version,author,remark) values
('JavaProjSE-v1.0.3','1.0.3','Enoxs','Java Project Simple Example - Version 1.0.3'),
('JUnitSE','1.0.2','Enoxs', 'Java Unit Test Simple Example'),
('SpringMVC-SE','1.0.2','Enoxs','Java Web Application Spring MVC - Simple Example (MyBatis)');

查询:

select * from app_info;

离开 mysql

quit

退出容器

exit

Dbeaver

  • Host : localhost
  • Port : 3306
  • Database : DevDb
  • Username : DevAuth
  • Password : Dev127336

MySQL Driver

https://www.mysql.com/products/connector/


<<:  在程序里避开踩雷:安全引用空虚值、例外处理和延後、惰性初始化 Null Safety, Exception, lateinit, lazy

>>:  Day 15 CSS <网页布局-定位布局-1.定位模式>

四招解决Spotify 黑画面问题!--〖2022亲测有效〗

Spotify 打开时是黑屏的怎麽办?明明老版本还是可以正常使用的,为什麽更新後Spotify会出现...

创建App第一步

建立了全新的Xcard专案,并在Main.storyboard界面页中拖拉数个Image View用...

Epoch(时期)、Batch size(批次)、Iteration(迭代)、Learning rate

  在研究类神经网路的程序时,发现会用到一些这概念,因此就来研究了一下。   这四样东西,在机器学习...

使用bot.py建立起你的第一个机器人

行前作业 注册帐号 需要有自己的服务器或是相应的权限 开始後续作业 搜寻discord develo...

JavaScript - 做个录音录影功能ㄅ

大家好!今天这篇主要是实作浏览器上的录音与录影功能,这边先列出几个会做到的目标 显示视讯画面与声音 ...