其它环境同理也可解决。
条件:为了使用mysql命令,本机要安装mysql ,我本机安装的是mysql 5.5。
错误1:使用命令 mysqldump -h192.168.1.50 -u root -p123 bdas >D:/test.sql 报错
mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does no
t exist when using LOCK TABLES
解决方法:登录远程主机mysql 的root用户 赋所有权: grant all privileges on *.* to root@"%" identified by ".";
错误2:
使用命令 mysqldump -h192.168.1.50 -u root -p123 bdas >D:/test.sql 报错
ERROR 1045 (28000): Access denied for user 'root'@'hehg-PC' (using password: YES)
解决方法:
以下皆为命令行,若未配置环境变量则命令在bin目录(cd C:Program FilesMySQLMySQL Server 5.5in)下使用。
1:在远程主机上停止mysql服务:net stop mysql;
2:在mysql根目录下有一个my.ini文件,打开找到标签[mysqld],在其下面添加skip-grant-tables,保存退出;
3:远程主机启动mysql服务:net start mysql;
在本机使用上述命令即可备份远程mysql数据库在本机指定目录。
接着将这些命令做成*.bat格式,用Java调用runtime执行bat命令(思路)。
这些做了下面还要做Java控制还原数据库