Docker mysql主机没有特权

Docker mysql主机没有特权,mysql,node.js,docker,fig,Mysql,Node.js,Docker,Fig,我正在尝试配置一个nodejs容器来连接mysql数据库 我的代码如下所示: var pool = mysql.createPool({ host : 'mysql', port : '3306', user : 'root', password : '...', database : 'general', connectionLimit : 50, queueLimit : 5000 }); 我使用的是标准容器

我正在尝试配置一个nodejs容器来连接mysql数据库

我的代码如下所示:

var pool  = mysql.createPool({
    host     : 'mysql',
    port     : '3306',
    user     : 'root',
    password : '...',
    database : 'general',
    connectionLimit : 50,
    queueLimit : 5000
});
我使用的是标准容器

我正在使用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'

我可以访问数据库。

我使用了drakedroid/mysql和data()图像。它扩展了默认图像,但添加了更多功能

可以吗?或者可能?您的mysql版本是什么?
General
是mysql 5.6中的保留字,请在pool@wassgren我不认为这是一个授予特权的问题,因为wordpress连接到同一个数据库时没有额外的权限privileges@Mihaimysql版本确实是5.6,但是本地主机使用的池就像charm@Petru好的,我想说清楚。同一个数据库,是同一个服务器还是同一个逻辑数据库?通常,wordpress使用wordpress用户连接到wordpress数据库,并且该用户具有该特定数据库的指定权限。