- 安装mysql 社区版本
docker pull mysql/mysql-server:*tag*
- 运行容器 一定要设置默认密码,要不然是随机密码
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不行。
- 设置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;
- 测试一下远程访问是否可以
mysql -u root -h ewsmysql -p
输入密码后,成功登录就算ok