Docker安装MySQL

Docker安装MySQL

一、拉取镜像

docker pull mysql:5.7 

二、启动容器

docker run --name mysql -p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=root -d 1e4405fe1ea9

或者安装时指定挂载盘符:

docker run --name mysql -p 3307:3306 \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf.d:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

命令解析:
  --name:容器名
  --p:映射宿主主机端口
  -v:挂载宿主目录到容器目录
  -e:设置环境变量,此处指定root密码
  -d:后台运行容器

三、连接MySQL

docker exec -it 容器ID /bin/bash

mysql -uroot -p root

select host,user,authentication_string,select_priv,insert_priv,drop_priv from mysql.user;

//授予root所有权限
grant all privileges on *.* to root@'%'  identified by 'root'; 

//'%'表示任何ip都可以访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

//刷新缓存
flush privileges;

四、MySQL插入中文报错

docker exec -it 容器ID /bin/bash

echo "character-set-server=utf8mb4" >> /etc/mysql/mysql.conf.d/mysqld.cnf

//重启mysql (不要重启容器,那样会无法重启)
service mysql restart
//重启容器
docker start 容器ID

//已生成的库表字符集变更
//修改数据库的字符集
mysql> alter database mydb character set 'utf8';
//修改数据表的字符集
mysql> alter table mytbl convert to  character set 'utf8';

五、查看SQL执行周期

show variables  like '%profiling%';
set profiling=1;
 
show profiles;     #显示最近的几次查询

show profile cpu,block io for query 编号  #查看程序的执行步骤

六、查看MySQL执行引擎

show engines;

//查看mysql当前默认的存储引擎
show variables like '%storage_engine%';

你可能感兴趣的:(Docker,部署,数据库,docker,mysql)