我正在运行 scotch box vagrant box。
我正在使用 Mysql Workbench 连接到它。
使用“基于 SSH 的标准 TCP/IP”连接到数据库不是问题
但是,我正在尝试使用 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/