采用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';