MySQL导出导入SQL文件命令方法

MySQL导出导入SQL文件命令方法,第1张

1.导出整个数据库

mysqldump -u 用户名 -p 数据名 >导出的`文件名

mysqldump -u wcnc -p smgp_apps_wcnc >wcnc.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名>导出的文件名

mysqldump -u wcnc -p smgp_apps_wcnc users>wcnc_users.sql

3.导出一个数据库结构

mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql

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

4.导入数据库

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>source d:wcnc_db.sql

========本地登录远程mysql

mysql -h IP地址 -P 3306 -u root -p

========创建用户

CREATE USER ‘hyeos’@’%’ IDENTIFIED BY ‘hyeosnet’

说明:

%:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

hyeosnet:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

示例:

CREATE USER ‘hyeos’@’localhost’ IDENTIFIED BY ‘hyeosnet’

CREATE USER ‘hyeos’@’192.168.38.110_’ IDENDIFIED BY ‘hyeosnet’

CREATE USER ‘hyeos’@’%’ IDENTIFIED BY ‘hyeosnet’

CREATE USER ‘hyeos’@’%’ IDENTIFIED BY ”

CREATE USER ‘hyeos’@’%’

注意:

创建用户后,该用户只能连接到数据库服务器,但并没有 *** 作该数据库服务器的权限。

========授权

GRANT privilegesxxx ON databasename.tablename TO ‘hyeos‘@’%‘

说明:

privilegesxxx:用户的 *** 作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应 *** 作权限则可用表示,如.*

示例:

GRANT SELECT, INSERT ON DbXXX.user TO ‘hyeos’@’%’

GRANT ALL ON . TO ‘hyeos’@’%’

GRANT ALL ON Dbname.* TO ‘hyeos’@’%’

//注意:

授权之后需要用户重连MySQL,才能获取相应的权限。

用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privilegesxxx ON databasename.tablename TO ‘hyeos’@’%’ WITH GRANT OPTION

设置与更改用户密码

SET PASSWORD FOR ‘hyeos’@’%’ = PASSWORD(‘newhyeosnet’)

如果是当前登陆用户用:

SET PASSWORD = PASSWORD(“newhyeosnet”)

示例:

SET PASSWORD FOR ‘hyeos’@’%’ = PASSWORD(“hyeosnet”)

撤销用户权限

REVOKE privilegexxx ON databasename.tablename FROM ‘hyeos’@’%’

示例:

REVOKE SELECT ON . FROM ‘hyeos’@’%’

注意:

假如你在给用户’hyeos’@’%’授权的时候是这样的(或类似的):GRANT SELECT ON db_name.user TO ‘hyeos’@’%’,则在使用REVOKE SELECT ON . FROM ‘hyeos’@’%’命令并不能撤销该用户对db_name数据库中user表的SELECT *** 作。相反,如果授权使用的是GRANT SELECT ON . TO ‘hyeos’@’%’则REVOKE SELECT ON db_name.user FROM ‘hyeos’@’%’命令也不能撤销该用户对db_name数据库中user表的Select权限。

具体信息可以用命令SHOW GRANTS FOR ‘hyeos’@’%’查看。

=======删除用户

DROP USER ‘hyeos’@’%’

=======刷新系统权限表

flush privileges

=======重设密码及登录主机

alter user ‘root’@’localhost’ identified by ‘XXXXXX’

=======远程导出:

mysqldump -P [端口] -h [IP] -u [用户] -p db_name>db_name.sql

例如:

mysqldump -P 3306 -h 192.168.1.224 -u root -p db_name>db_name.sql

=======远程导入:

mysql -h[IP] -P[端口] -u[用户] -p db_name<db_name.sql p=""></db_name.sql>

例如:

mysql -h 192.168.1.224 -P 3306 -u root -p db_name <db_name.sql

附:

远程导出数据库: mysqldump -h[hosname] -u[user_name] -p[password] –default-character-set=[char_set_name] [db_name] >[save_path]

=======导入数据库时一定要注意字符集是否相同,如果字符集不同会报错,重建数据库改为相同的字符集即可

附加数据库

或者导入数据库

sql本身有数据导入的 *** 作。但如果要从一个备份的文件中导入数据,则要进行另外的 *** 作。下面以一个例子进行说明。

sql服务器上已有一个doe数据库,并且里面有大量的数据,现准备从另外一个备份文件a1.bak(不是doe数据库的备份文件)中导入另外的数据(即导入后在doe中增加一些数据表,表中已录有数据),并保持原doe的数据不变。

1、首先,在“sql企业管理器”中新建一个临时数据库a1。

2、右击a1数据库,选择:所有任务->还原数据库。

3、在“还原数据库”窗口中,选择:“从设备”。

4、点击“选择设备”。

5、点击“添加”。

6、从文件名中选择要还原的数据库文件,如a1.bak。

7、点击“确定”,返回“还原数据库”窗口。

8、点击“选项”卡,进入选项设置。

9、钩选:“在现有数据库上强制还原”。

10、修改“移到物理文件名”为:“c:\a1.ldf”、“c:\a1.mdf”。

11、点确定,即可导入备份文件中的数据到临时数据库a1中。

12、此时,你可以将数据从a1导入到另外一真正要导入的数据库中,如doe数据库。

(下面的数据导入 *** 作为sql2000企业管理器的一般数据导入导出 *** 作。)

13、在“sql企业管理器”中选择“doe”数据库。

14、右击doe数据库,选择:所有任务->导入数据。

15、在“dts导入/导出向导”窗口的“选择数据源”中,数据源选择刚才建立并导入数据的临时数据库a1。点击下一步。

16、在“选择目的”中,系统已经默认为doe数据库。

17、连续点击“下一步”,直到完成。

经过上面的 *** 作,你已经成功地将备份文件a1.bak中数据导入doe数据库中,并且doe数据库原有数据不变。

此时,你可以删除临时数据库a1。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7354248.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存