MySQL命令行导入sql数据库

MySQL命令行导入sql数据库,第1张

工具/材料

mysql,windows 7 ,备份的数据库

01

先启动mysql服务,在命令行下输入net start mysql,然后登录,输入

mysql -uroot -p,回车后输入密码

02

输入下图中的语句,创建数据库,查看数据库,然后输入exit退出,如下图所示

03

导入数据库到刚才创建的数据库,在命令行下输入mysql -uroot -p t <./t.sql

t是刚才创建的数据库的名称,./t.sql表示当前目录下的t.sql数据库,就是要导入的数据库的路径

04

查看结果

mysql数据库的导入,有两种方法:

1)

先导出数据库sql脚本,再导入;

2)

直接拷贝数据库目录和文件

在不同 *** 作系统或mysql版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用sql脚本形式导入。下面分别介绍两种方法。

2.

方法一

sql脚本形式

*** 作步骤如下:

2.1.

导出sql脚本

在原数据库服务器上,可以用phpmyadmin工具,或者mysqldump命令行,导出sql脚本。

2.1.1

用phpmyadmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“drop

database”和“drop

table”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的sql文件保存下来。

2.1.2

用mysqldump命令行

命令格式

mysqldump

-u用户名

-p

数据库名

>

数据库名.sql

范例:

mysqldump

-uroot

-p

abc

>

abc.sql

(导出数据库abc到abc.sql文件)

提示输入密码时,输入该数据库用户名的密码。

2.2.

创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

2.3.

将sql脚本导入执行

同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。

2.3.1

用phpmyadmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在"sql"菜单中,浏览选择刚才导出的sql文件,点击“执行”以上载并执行。

注意:phpmyadmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

#

gzip

xxxxx.sql

得到

xxxxx.sql.gz文件。

提示输入密码时,输入该数据库用户名的密码。

3

直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。

3.1

准备原始文件

用tar打包为一个文件

3.2

创建空数据库

3.3

解压

在临时目录中解压,如:

cd

/tmp

tar

zxf

mydb.tar.gz

3.4

拷贝

将解压后的数据库文件拷贝到相关目录

cd

mydb/

cp

*

/var/lib/mysql/mydb/

对于freebsd:

cp

*

/var/db/mysql/mydb/

3.5

权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown

mysql:mysql

/var/lib/mysql/mydb/*

chmod

660

/var/lib/mysql/mydb/*

1、MySQL常用命令

create

database

name

创建数据库

use

databasename

选择数据库

drop

database

name

直接删除数据库,不提醒

show

tables

显示表

describe

tablename

表的详细描述

select

中加上distinct去除重复字段

mysqladmin

drop

databasename

删除数据库前,有提示。

显示当前mysql版本和当前日期

select

version(),current_date

2、修改mysql中root的密码:

shell>mysql

-u

root

-p

mysql>

update

user

set

password=password(”xueok654123″)

where

user='root'

mysql>

flush

privileges

//刷新数据库

mysql>use

dbname;

打开数据库:

mysql>show

databases

显示所有数据库

mysql>show

tables

显示数据库mysql中所有的表:先use

mysql;然后

mysql>describe

user

显示表mysql数据库中user表的列信息);

3、grant

创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

mysql>

grant

all

privileges

on

*.*

to

user@localhost

identified

by

'something'

with

增加新用户

格式:grant

select

on

数据库.*

to

用户名@登录主机

identified

by

“密码”

GRANT

ALL

PRIVILEGES

ON

*.*

TO

monty@localhost

IDENTIFIED

BY

'something'

WITH

GRANT

OPTION

GRANT

ALL

PRIVILEGES

ON

*.*

TO

monty@”%”

IDENTIFIED

BY

'something'

WITH

GRANT

OPTION

删除授权:

mysql>

revoke

all

privileges

on

*.*

from

root@”%”

mysql>

delete

from

user

where

user=”root”

and

host=”%”

mysql>

flush

privileges

创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb

mysql

>grant

select,

insert,

update,

delete,

create,drop

on

fangchandb.*

to

custom@

it363.com

identified

by

passwd'

重命名表:

mysql

>

alter

table

t1

rename

t2

4、mysqldump

备份数据库

shell>

mysqldump

-h

host

-u

root

-p

dbname

>dbname_backup.sql

恢复数据库

shell>

mysqladmin

-h

myhost

-u

root

-p

create

dbname

shell>

mysqldump

-h

host

-u

root

-p

dbname

<

dbname_backup.sql

如果只想卸出建表指令,则命令如下:

shell>

mysqladmin

-u

root

-p

-d

databasename

>

a.sql

如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

shell>

mysqladmin

-u

root

-p

-t

databasename

>

a.sql

那么如果我只想要数据,而不想要什么sql命令时,应该如何 *** 作呢?

mysqldump

-T./

phptest

driver

其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver

表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。

5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql

中存放有查

询,可如下执行这些查询:

例如,如果您想将建表语句提前写在sql.txt中:

mysql

>

mysql

-h

myhost

-u

root

-p

database

<

sql.txt


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存