1、下载mysql 5.7镜像
docker pull mysql:5.7
2、对mysql进行挂载,设置mysql字符编码
mkdir /opt
mkdir /opt/mysql
mkdir /opt/mysql/conf
mkdir /opt/mysql/data
创建并修改my.cnf配置文件
vi /opt/mysql/conf/my.cnf
my.cnf添加如下内容:
[client]
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
skip-grant-tables
挂载目录可以按照自己想法建,但上下级关系要正确,即mysql下有conf 和 data。
3、创建mysql容器并启动
docker run -d -p 3306:3306 --privileged=true -v /opt/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -e MYSQL_USER="test" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" --name mysql57 mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci
对上述参数进行解释:
-e MYSQL_USER="" :设置用户名
-e MYSQL_PASSWORD="":设置该用户的密码
-e MYSQL_ROOT_PASSWORD="":设置root用户密码
--character-set-server=utf8:设置字符集为utf8
--collation-server=utf8_general_cli:设置字符规则为utf8_general_cli
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /opt/mysql/conf/my.cnf:/etc/my.cnf:映射配置文件
-v /opt/mysql/data:/var/lib/mysql:映射数据目录
4、进入mysql容器
docker exec -it --user root mysql57 /bin/bash
进入命令行模式,输入mysql
5、创建数据库
查看数据库:
show databases;
创建数据库:create database 数据库名
create database supersetdb;
6、创建表
查看表:
show tables from supersetdb;
选择数据库:
use supersetdb;
创建表:create table 表名(字段名1 类型, 字段名2 类型, ..., 字段名n 类型);
create table test(id int, name varchar(32), age varchar(3));
int
是整型,varchar()
是字符类型
查看表中的列信息:
show columns from test;
7、sql语句
增:insert into 表名 values(数据, 数据);
insert into test values(1, 'xiaoming', '10');
insert into test values(2, 'xiaohong', '20');
查select * from 表名 where 条件;
select * from test;
改update 表名 set 字段名=X1, ..., 字段名=Xn where 条件;
update test set name='xiaohong2', age='30' where id=2;
select * from test where id=2;
删delete from 表名 where 条件;
delete from test where id=1;