MySQL 在Docker下快速安装,Ubuntu 16.4

采用dockerhub安装

docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

上述初始化了docker容器(自动拉取镜像),指定了端口为3306,容器名为mysql,密码为root,mysql镜像版本为5.7,另外设配置了容器的挂载

容器路径    

Linux路径

日志目录

/var/log/mysql
/mydata/mysql/log

数据文档存储目录

/var/lib/mysql
/mydata/mysql/data

配置目录

/etc/mysql
/mydata/mysql/conf
# 查看最终生成的docker容器
docker inspect mysql

安装后可单独进入docker容器操作命令行

# docker start mysql   #如果容器停止了,可以使用此命令启动容器
# 进入mysql容器的命令行操作窗口
docker exec -it mysql bash


# 进入后即可使用命令行连接进入
mysql -h localhost -u root -p # 之后输入密码,即可进入熟悉的mysql命令行


# 允许远程访问
# grant all privileges  为所授予权限
# *.*  为指定哪些数据库的哪些表 database.table 结构
# 'root'@'%'  为将权限赋予谁,root为登陆账户名,@后面为限制的主机,可以为IP、IP段、域名、以及 %, %表示任何地方(有些版本中不包含localhost,需单独添加)
# identified by '123456'  指定密码为123456
# with grant option  表示该用户有权限将已拥有的权限授权给其他人
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

# 刷新权限
flush privileges; 

# 成功后退出mysql 
exit 

# 退出mysql容器 
exit

关闭mysql容器

docker stop mysql

启动mysql容器

docker start mysql

重启mysql容器

docker restart mysql

默认情况下mysql在Linux下区分大小写,即 lower_case_table_names = 0,此时需要修改值为1

在 /mydata/mysql/conf 下新增 my.cnf 文件,vim进入编辑填入内容为,之后保存退出即可

[mysqld]
user=mysql
lower_case_table_names=1

重启mysql容器即可。

如果启动异常,可用 docker logs mysql 命令查看异常信息。

配置后验证配置

use mysql
show variables like 'lower_case_table_names';