Start a Remote MySQL Server with Docker

2019/05/01 Deployment

1. 下载MySQL的Docker镜像

$ docker search mysql (搜索MySQL镜像)  
$ docker pull mysql (下载mysql镜像,默认最新版本)

2. 运行镜像

设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306。测试过程没有挂载本地数据盘:

$ docker run -it --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql  

Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可

# 指定数据目录
$ docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 
# 指定数据目录和配置文件
$ docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 

3. 查看已运行的容器

$ docker ps -a

4. 进入mysql容器

$ docker exec -it mysql bash
root@28ddb46a15b8:/#

5. 容器内登陆Mysql

root@28ddb46a15b8:/# mysql -uroot -p123456

6. 查看用户信息

mysql> select host,user,plugin,authentication_string from mysql.user;  

备注:host为 % 表示不限制ip,localhost表示本机使用,plugin非mysql_native_password 则需要修改密码

7. 修改密码

% ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>';
% ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '<password>';
mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';(自己修改数据库密码)
mysql> FLUSH PRIVILEGES;

8. Navicat连接数据库

Reference

Search

    Table of Contents