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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)