mysql - 使用 mysql Workbench 备份 Vagrant Mysql

标签 mysql vagrant mysql-workbench

我正在运行 scotch box vagrant box。

我正在使用 Mysql Workbench 连接到它。

使用“基于 SSH 的标准 TCP/IP”连接到数据库不是问题

enter image description here

但是,我正在尝试使用 MySQL Workbench 的“导出数据”功能来备份数据库。

  • 点击“导出数据”

  • 选中我要备份的架构旁边的框

  • 点击“开始导出”

但它总是返回错误:

05:26:20 Dumping databasename (tablename)
Running: /Applications/MySQLWorkbench.app/Contents/MacOS/mysqldump
--defaults-file="/var/folders/x1/h3dh_9hn4xz75qmz1tyjg7980000gn/T/tmpBMusBi/extraparams.cnf
"  --user=root --host=localhost --protocol=tcp --port=21651 
--default-character-set=utf8 --skip-triggers "database name" "table name"

mysqldump: Got error: 2003: Can't connect to MySQL server 
on 'localhost' (61) when trying to connect

如何才能使数据导出正常工作?

最佳答案

我不知道这是否是最优雅的修复,但它确实有效

更新了 Vagrant 文件

 config.vm.network "forwarded_port", guest: 3306, host: 3306

添加配置

config.vm.provision "shell", inline: <<-SHELL

sudo sed -i 's/bind-address.*/bind-address = 0.0.0.0/' /etc/mysql/my.cnf

sudo service mysql restart

SHELL

运行:

vagrant provision

连接数据库

添加新用户

User: root
From host: %

确保新用户拥有完全权限

使用以下设置创建新的数据库连接

connection method: standard (tcp/ip)
hostname: 192.168.33.10
username: root

当您使用此连接连接到数据库时,“导出数据”功能将正常工作。

关于mysql - 使用 mysql Workbench 备份 Vagrant Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39625083/

相关文章:

MySQL 非常长的查询

mysql - 在 Node 循环中插入和选择不起作用

ruby-on-rails - 如何从模块中获取 puppet list 中的文件

python - Pycharm - 编辑安装包

MySQL Workbench session 看不到数据库的更新

mysql - 如何更改更新语句中的列集

Mysql (MariaDB) 如何找出 PROCESSLIST MEMORY_USAGE 持续意外增长的原因

mysql - 从 SELECT 创建的临时表中的多行中选择数据

php - PDO 查询搜索整列

mysql - 使用 bash 脚本在 CentOS 6 VM (Vagrant) 上安装 MySQL