从远程客户端连接到Dockerized MySQL

tl; dr:数据库用来从远程连接,但在docker化后,它不是(虽然我可以从主机访问)。

我已经build立了一个在ec2实例中运行MySQL的docker容器,使用下面的命令:

sudo docker run --name mysql-csm -p 3306:3306 -v /db/mysql:/var/lib/mysql -v /db/mysql-config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=password -d mysql 

其中: -v /db/mysql:/var/lib/mysql将我的主机的数据库映射到docker

-v /db/mysql-config:/etc/mysql/conf.d将我的主机自定义configuration文件映射到docker化的MySQLconfiguration。 主机文件应该是先例,我的自定义configuration包含一行:

 [mysqld] bind-address = 0.0.0.0 

我可以通过主机命令行使用以下命令连接到数据库:

 sudo docker run -it --link mysql-csm:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -u"user" -p"pw"' 

从MySQL的命令行,所有的表格等,都呈现&看起来不错。 这个数据库以前运行在一个普通的MySQL版本,我可以远程连接。

但是,当试图从我的笔记本电脑使用MySQL Workbench连接时,我收到错误:

 Table 'performance_schema.session_variables' doesn't exist 

谷歌search表明这是升级,但我不知道如何解决这个问题。

ETA:当试图通过SSH工作台login – > TCP / IP通过MySQL工作台时,我得到相同的错误。