搭建 mysql
说明:
搭建步骤:只需顺序执行操作 1~3,其他操作用于再次启动时的命令
1.拉取镜像
docker pull mysql
2.查看镜像
docker images
3.新建容器
若镜像不是最新版本,那么需要在命令里指定版本号 (如 mysql:5.7.25 )
run --name=krystal_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.25
说明:
--name= 后面是指定的容器名
-p 代表端口映射,格式为 宿主机映射端口:容器运行端口
-e 代表添加环境变量
MYSQL_ROOT_PASSWORD 是 root 用户的登陆密码
mysql:5.7.25 是下载的镜像 + 版本 (若不指定版本,该命令会重新下载 mysql 最新的镜像)
4.查看当前启动状态的容器
docker ps
5.查看所有容器 (包含未启动的)
docker ps -a
6.启动非启动状态的容器
此步骤用于再次启动容器
docker start ID
说明: ID 是容器 ID(docker ps -a 查询结果)
进入 mysql,进行数据库操作
1.进入容器,进入与 shell 交互页面
以下有两种方式
#最简单的进入方式
docker exec -it bash
#这种方式下,数据库才可输入和展示中文数据
docker exec -it envLANG=C.UTF-8 /bin/bash
2.登陆 mysql
mysql -u root -p
遇到的问题:有一个报错 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)原因:密码不正确
3.创建数据库
#创建数据库
create database database_name;
#切换到刚新建的数据库
use database_name;
#查看该数据库下的表
show tables;
4.创建表结构
例子:一个年级的学生名单如下,请用 sql 语句建立如下表。
#加上后边的(character set utf8),才可以插入中文数据
create table TB_Student( idint primary key auto_increment , class char(20), name char(20)) character setutf8;
5.修改表结构
#修改表字段类型(原有列class,修改类型为varchar(50))
alter table TB_Student modify class varchar(50);
#为表增加字段(seq是表的新增列)
alter table TB_Student add seqint;
6.表中插入数据
#插入多条数据
insert into TB_Student values(3,"一班","Angelia"),(4,"一班","Bill");
#插入新纪录,可以不插入id(因为建立表的时候这个字段设置的自增)
insert into TB_Student(class,name) values("二班","Colin");