您的位置:首页 > 数据库 > MySQL

mysql常用导出数据命令

2012-03-27 11:03 316 查看
mysql常用导出数据命令:

1.mysql导出整个数据库

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql  

mysqldump -hlocalhost -uroot hqgr> hqgr.sql (如果root用户没用密码可以不写-p,当然导出的sql文件你可以制定一个路径,未指定则存放在mysql的bin目录下)

2.mysql导出数据库一个表

  mysqldump -hhostname -uusername -ppassword database tablename>导出的文件名

  mysqldump -hlocalhost -uroot hqgr t_ug_user> user.sql

3.mysql导出一个数据库结构

  mysqldump -hhostname -uusername -ppassword -d --add-drop-table databasename>d:hqgrstructure.sql

  -d没有数据 --add-drop-table在每个create语句之前增加一个drop
table

4.如果需要导出mysql里面的函数或者存储过程

mysqldump -hhostname -uusername -ppassword -ntd -R databasename > backupflie.sql

mysqldump -hlocalhost -uroot -ntd -R hqgr > hqgr.sql

其中的 -ntd是表示导出存储过程;-R是表示导出函数

mysql常用导入数据的命令:

1.mysql命令

mysql -hhostname -uusername - ppassword databasename < backupfile.sql

2.source命令

mysql -hhostname -uusername -ppassword 1)连接数据库

use databases; 2)选择数据库

mysql>source backupfile.sql 3)使用source命令

Java code

/**
*
数据库备份实现方法
*
*
*/
@Override
public String backupMysql() {
//备份文件存放路径
String sql ="";
//数据库名称 //读取XML得到数据库名称
String databaseName = "";
// 服务URL
String address = "";
// 备份文件存放路径
String sqlpath = "";
//读取XML得到数据库用户名称
String username = "";
//读取XML得到数据库用户密码名称
String password = "";
//备份服务地址
address = "localhost";
//数据库服务路径
String url="";
//获得服务发布的绝对路径
String path = System.getProperty("user.dir");
path = path.substring(0,path.lastIndexOf(“\\"))+"\\webapps\\BIMS\\";
//读取applicationDataSource.xml文件 取出 数据库名,
File f =
new File(path+ "/WEB-INF/classes/configs/applicationDataSource.xml");
SAXReader reader =
new SAXReader();
Document doc =
null;
try {
doc = reader.read(f);
} catch (DocumentException e1) {
log.debug(e1.getMessage());
}
//获得所有node节点集合
Node node = doc.selectSingleNode("//*[@name='url']");
Element e = (Element)node;
url=e.attributeValue("value");

node = doc.selectSingleNode("//*[@name='username']");
e = (Element)node;
username=e.attributeValue("value");

node = doc.selectSingleNode("//*[@name='password']");
e = (Element)node;
password=e.attributeValue("value");

//得到MYSQL的用户名密码后调用 mysql 的 cmd:
String[] realp=path.split(":");
//备份文件存放路径 目录名自己可以写
sql = realp[0]+":"+"\\MySQlBimsBuckup\\";
String[] urls=url.split("/");
//数据库名称
databaseName = urls[urls.length-1];
//备份文件存放路径
sqlpath = sql;
address = "localhost";
//文件路径
File backupath =
new File(sqlpath);
if (!backupath.exists()) {
backupath.mkdir();
}
String time = StringUtil.dateToStr(new Date(), "yyyy-MM-dd");
String filename = time + ".sql";
StringBuffer sb =
new StringBuffer();
//拼接命令
sb.append("mysqldump ");
sb.append("--opt ");
sb.append("-h ");
sb.append(address);
sb.append(" ");
sb.append("--user=");
sb.append(username);
sb.append(" ");
sb.append("--password=");
sb.append(password);
sb.append(" ");
sb.append("--lock-all-tables=true ");
sb.append("--result-file=");
sb.append(sqlpath);
sb.append(filename);
sb.append(" ");
sb.append("--default-character-set=utf8 ");
sb.append(databaseName);
Runtime cmd = Runtime.getRuntime();
try {
Process p = cmd.exec("cmd /c " + sb.toString());
InputStreamReader isr =
new InputStreamReader(p.getInputStream());
BufferedReader br =
new BufferedReader(isr);
FileOutputStream fos =
new FileOutputStream(sqlpath + filename);
OutputStreamWriter osw =
new OutputStreamWriter(fos);
BufferedWriter bw =
new BufferedWriter(osw);
String line =
null;
while ((line = br.readLine()) !=null) {
bw.write(line);
bw.flush();
}
br.close();
bw.close();
//System.out.println("调用命令:" + sb.toString());
} catch (IOException e1) {
log.debug("",e1);//没做处理
}

returnnull;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: