复杂情况下:
从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和 *** 作。经过如下几种情况的 *** 作。
1. 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夹拷贝至D:\Program Files\MySQL\MySQL Server 5.0\。结果,失败:数据库连接错误。
2. 卸载后重装MySQL,将D:\Program Files\MySQL\MySQL Server 5.0\下的数据备份,只把mysql\data文件夹全部内容拷贝到D:\Program Files\MySQL\MySQL Server 5.0\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。
3. 卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program Files\MySQL\MySQL Server 5.0\data。连接成功,在Navicat for MySQL里看到数据库cf1和last,但是不能访问,因为数据全为零。明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(3.4G大,明显存储了元数据)拷贝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原来的ibdata1文件。重启电脑,打开Navicat for MySQL,连接成功,数据可以访问 *** 作。
至此, *** 作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说MySQL失效了。
来快速修复所有的数据库或者特定的数据库方法:进入Mysql的Bin目录:C:\Program Files\MySQL\MySQL Server 4.1\bin运行:mysqlcheck -A -o -r -uroot -p123
注意,将123改成你自己的root用户密码
希望能解决您的问题。
1、source命令
1)打开开始菜单->程序->MySQL->MySQL Command Line Client,输入MySQL的root密码。
2)然后输入use 数据库名进入对应的数据库,再用source 备份文件具体路径命令导入备份文件。注意,在这里的命令后面都要加分号,截图如下:
2、mysql命令
1)如果是Windows系统,请在命令行模式下进入mysql的bin目录,如D:\Program\mysql41\bin。如果是Linux系统,请直接看下面的步骤。
2)执行mysql命令导入数据库,命令格式为:
mysql -u用户名 -p密码 数据库名<备份文件具体路径
比如:mysql -uroot -pabc123 mydb<file.sql,其中用户名和密码也可以是具体数据库的,不一定要root的。
二、数据库的导出(备份)
一般使用mysqldump命令
1)如果是Windows系统,请在命令行模式下进入mysql的bin目录,如D:\Program\mysql41\bin。如果是Linux系统,请直接看下面的步骤。
2)执行mysqldump命令导入数据库,命令格式为:
mysqldump -u用户名 -p密码 数据库名>备份文件具体路径
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)