我正在尝试配置一个nodejs容器,以连接到mysql数据库。
我的代码如下所示:
var pool = mysql.createPool({
host : 'mysql',
port : '3306',
user : 'root',
password : '...',
database : 'general',
connectionLimit : 50,
queueLimit : 5000
});我正在使用标准的mysql容器。
我用无花果来启动容器。fig.yml看起来类似于:
node:
build: node
ports:
- "9000:9000"
- "9001:9001"
links:
- mysql:mysql
command: node server/Main.js
mysql:
image: mysql
volumes:
- /data/test:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ...每次尝试连接时,我都会得到以下错误:
failed to connect to database: Error: ER_HOST_NOT_PRIVILEGED: Host '172.17.0.142' is not allowed to connect to this MySQL server知道我做错了什么吗?我玩过wordpress,它似乎连接到同一个mysql,没有任何问题。
谢谢!
编辑所以,我终于找到了答案。这个问题确实是一个特权问题。我运行了以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'我可以访问数据库。
发布于 2015-03-19 14:56:28
我使用drakedroid/mysql-with (https://registry.hub.docker.com/u/drakedroid/mysql-with-data/)映像。它扩展了默认映像,但增加了更多功能。
https://stackoverflow.com/questions/27868965
复制相似问题