部署mysql on Docker

108 阅读1分钟
  1. 安装mysql 社区版本
docker pull mysql/mysql-server:*tag*
  1. 运行容器 一定要设置默认密码,要不然是随机密码
docker run --name=ewsmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /c/ewsmysql/mysqldata:/var/lib/mysql -d shamexln/mysql-server:1.0

为了把数据库的数据持久化,不能放入容器保存,所以用-v 来做镜像。 不能用 --mount是因为需要绝对路径,不过--mount可以映射文件,而-v不行。

  1. 设置Mysql可以远程访问
SELECT host FROM mysql.user WHERE User = 'root';

可以看到root的用户都是localhost的,所以远程访问不行

CREATE USER 'root'@'ip_address' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';
FLUSH PRIVILEGES;

##some_pass我这里设置成root ##ip_address我这里设置成docker的容器名字ewsmysql.

或者容易地址都可以访问

CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
  1. 测试一下远程访问是否可以
mysql -u root -h ewsmysql -p

输入密码后,成功登录就算ok