Docker MySQL: 创建新用户
Docker MySQL: create new user
在 mysql docker hub page 中有关于如何创建用户的参考:
MYSQL_USER, MYSQL_PASSWORD
但是如何在 docker-compose.yml 文件中指定这些参数?
到目前为止我有:
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: R00t+
另一个问题;如何从容器外部连接到 mysql 主机?在容器内,我可以使用以下方式连接:
$user = 'root';
$pass = 'R00t+';
$server = 'mysql';
$dbh = new PDO( "mysql:host=$server", $user, $pass );
关于密码,您设置的所有参数与您设置的 root 密码完全相同,即:
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: R00t+
MYSQL_USER: youruser
MYSQL_PASSWORD: yourpassword
连接 mysql 外部容器就像主机使用 localhost
因为你在这一行 - "3306:3306"
中将端口从容器重定向到主机
$user = 'root';
$pass = 'R00t+';
$server = 'localhost';
$dbh = new PDO( "mysql:host=$server", $user, $pass );
我假设你是 运行 它在你的笔记本电脑上,你已经启动了 docker 个容器。
在 mysql docker hub page 中有关于如何创建用户的参考:
MYSQL_USER, MYSQL_PASSWORD
但是如何在 docker-compose.yml 文件中指定这些参数?
到目前为止我有:
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: R00t+
另一个问题;如何从容器外部连接到 mysql 主机?在容器内,我可以使用以下方式连接:
$user = 'root';
$pass = 'R00t+';
$server = 'mysql';
$dbh = new PDO( "mysql:host=$server", $user, $pass );
关于密码,您设置的所有参数与您设置的 root 密码完全相同,即:
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: R00t+
MYSQL_USER: youruser
MYSQL_PASSWORD: yourpassword
连接 mysql 外部容器就像主机使用 localhost
因为你在这一行 - "3306:3306"
$user = 'root';
$pass = 'R00t+';
$server = 'localhost';
$dbh = new PDO( "mysql:host=$server", $user, $pass );
我假设你是 运行 它在你的笔记本电脑上,你已经启动了 docker 个容器。