备份:
进入DOS模式,进入C:\xampp\mysql\bin目录下,
命令如下:
mysqldump -u user_name -p your_password database_name > file_name.sql
例子:
Username: xxx
Password: yyy
Database Name: XYData
mysqldump -u xxx -p yyy XYData > XYBackup.sql
1,如果同样的数据库,从零开始恢复也很简单。命令:
mysql - u user_name -p your_password database_name < file_name.sql
使用上面的例子:
mysql - u xxx -p yyy XYData < XYBackup.sql
2,如果数据库已经存在,网上有说可以用下面这个命令,我试了,不行,后来又查了一下,说要文件名和表名一致,没功夫仔细研究。
mysqlimport -u user_name -p your_password database_name file_name.sql
使用上面的例子:
mysqlimport -u xxx -p yyy XYData XYBackup.sql
3,我为了省事,采用建新数据库的方式,有了新的问题,因为我从两个不同版本的数据库备份和恢复数据,出现这个错误:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '▼ï' at line 1
尚未解决,待续
用这个备份、恢复看着还可以,自己用SQL语句写.sql文件,然后在dos下用mysql命令输入这个文件: MySQL的数据库备份问题
补充:花了一、两个小时传完,发现中文成了乱码。通过phpMyAdmin就不是乱码,可是如果太长时间,phpMyAdmin就不支持,还是有问题,待续。
接上文,我在.sql开头加上下面这些内容,中文就不乱码了,这个内容是在本地机器上找个表用mysql做个备份,然后打开取文件开头部分:
-- MySQL dump 10.13 Distrib 5.1.41, for Win32 (ia32)
--";
-- Host: localhost Database: g5
-- ------------------------------------------------------
-- Server version 5.1.41";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;";
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;