docker运行mysql
首先拉取MySQL镜像。
1 | docker pull mysql:5.7.26 |
创建工作目录。
1 | mkdir -p /data/mysql |
部署MySQL。
1 | docker run -p 3306:3306 --name mysql --restart=always -v /data/mysql/conf:/etc/mysql -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysqlpwd -d mysql:5.7.26 |
-p 3306:3306
将容器的3306端口映射到主机的3306端口,第一个为主机端口,第二个为容器端口--name mysql
启动后容器名为mysql。-v /usr/local/workspace/mysql/conf:/etc/mysql
将主机/usr/local/workspace/mysql/conf目录挂载至容器的/etc/mysql,此为配置文件目录,建议挂载。-v /usr/local/workspace/mysql/logs:/logs
同上,此为日志目录。-v /usr/local/workspace/mysql/data:/var/lib/mysql
同上,此为数据文件目录,挂载后容器重启数据不会丢失,建议挂载。-e MYSQL_ROOT_PASSWORD=mysqlpwd
设置root用户的密码。
默认开启远程登录,如无法登录,可进入容器开启。
1 | docker ps | grep mysql |
进入容器。
1 | docker exec -it mysql /bin/bash |
登录MySQL并设置允许远程登录。
1 | root@02d3bde85641:/# mysql -u root -p |
改密码也可能是下面这句。
1 | mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysqlpwd' WITH GRANT OPTION; |
然后即可愉快地连接 MySQL。