# docker 中下载 mysql
docker pull mysql
# 或者
docker pull mysql:latest
#启动
docker run --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
#进入容器
docker exec -it mysql bash
#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';
#添加远程登录用户
CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!';
GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';
确定Docker内 MySQL 文件相关路径
根据官网说明:如果要挂载 MySQL 配置文件的话,我们必须在物理机上存在着该配置文件。
# 查找Docker内,MySQL配置文件my.cnf的位置(本人测试系统为阿里云centos7)
mysql --help | grep my.cnf
# 显示如下,意思是路径按优先排序,会是在以下路径里:
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
# 配置文件的路径不一定都一样,Ubuntu系统上,实际存在位置是在/etc/mysql/my.cnf
# 查找数据文件位置
docker inspect mysql-test
...
"Mounts": [
{
"Type": "volume",
"Name": "912c2fd06f426b5b169a400694758a5308792d2aefef9d3efff706a3c49c724c",
"Source": "/var/lib/docker/volumes/912c2fd06f426b5b169a400694758a5308792d2aefef9d3efff706a3c49c724c/_data",
"Destination": "/var/lib/mysql",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
...
输出显示源文件夹:/var/lib/docker/volumes,表示已安装在 /var/lib/mysql容器内的服务器数据目录中。