从MySQL 5.0中的转储文件创建数据库

时间:2011-04-04 07:01:10

标签: mysql database

我想从转储文件名“db_ehr.sql”创建数据库,任何人都可以帮我这样做..

3 个答案:

答案 0 :(得分:14)

在mysql控制台中:

create database test;
use test;
source db_ehr.sql;

答案 1 :(得分:4)

可以使用mysql命令行控制台执行该文件。

shell>mysql --user=user_name --password=user_password --host=host_name --port=port_number<db_ehr.sql

您可以指定文件的完整路径,例如d:\ DIR1 \ db_ehr.sql

mysql — The MySQL Command-Line Tool

答案 2 :(得分:1)

您的db_ehr.sql应如下所示:

# DATEI:    db_ehr.sql
# ZWECK:    Kommando-Datei für mysql
#           create dbname - ???
# GEBRAUCH: [eh@xx xx]$ mysql  -u root [-p] < db_ehr.sql

# ------ Create Database

USE mysql;

DROP DATABASE IF EXISTS dbname;

CREATE DATABASE dbname;

# ------ Grant Access

GRANT ALL ON dbname.* TO user@'host';

# ------ Create/Fill Tables

应该允许用户(root)创建数据库,授予访问权限的用户应该有密码(IDENTIFIED BY)

补充证据:

上面的简化版本(对我来说也很有用):

DOS E:\proj\lang\sql\mysql\winxpsp3
type demo00.sql
USE mysql;
show databases;
DROP DATABASE IF EXISTS demo;
CREATE DATABASE demo;
show databases;

用法:重定向:

DOS E:\proj\lang\sql\mysql\winxpsp3
mysql -u root -p < demo00.sql
Enter password: 
Database
...
classicmodels
mysql
...

Database
...
classicmodels
demo
mysql

用法:来源

mysql -u root -p
...
Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)
...
mysql> source demo00.sql
Database changed
+--------------------+
| Database           |
+--------------------+
...
| classicmodels      |
| mysql              |
...
+--------------------+
6 rows in set (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 1 row affected (0.00 sec)
+--------------------+
| Database           |
+--------------------+
...
| classicmodels      |
| demo               |
| mysql              |
...
+--------------------+
7 rows in set (0.00 sec)

当我尝试讨厌的事情时,我收到了有益的错误消息:

以没有必要权利的用户身份尝试:

ERROR 1044(42000):拒绝用户'eh'@'localhost'访问数据库'demo'

尝试两次创建演示:

ERROR 1007(HY000):无法创建数据库'demo';数据库存在

尝试创建名为'not a name'的数据库:

错误1064(42000):您的SQL语法有错误;检查手册    对应于您的MySQL服务器版本,以便在附近使用正确的语法    第1行“不是名字”

所以我很想知道你的实验在没有暗示原因的情况下失败了。