如何在Ubuntu 14.04上备份,恢复及迁移MongoDB数据库

如何在Ubuntu 14.04上备份,恢复及迁移MongoDB数据库,第1张

你好,

安装MongoDB数据软件包可以通过apt-get实现。但我们修要安装官方提供MongoDB软件源。 修改apt的source.list文件,增加10gen的设置。

ubuntu下mysql的常用命令,MySQL数据库的基本 *** 作命令

一、mysql服务 *** 作

0、查看数据库版本 sql->status

1、net start mysql //启动mysql服务

2、net stop mysql //停止mysql服务 

3、mysql

-h主机地址 -u用户名 -p用户密码 //进入mysql数据库

4、quit //退出mysql *** 作

5、mysqladmin -u用户名

-p旧密码 password 新密码 //更改密码

6、grant select on 数据库.* to 用户名@登录主机 identified by

"密码" //增加新用户

exemple:

例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的 *** 作

(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据

库,只能通过MYSQL主机上的web页来访问了。

grant select,insert,update,delete on mydb.* to

test2@localhost identified by "abc"

如果你不想test2有密码,可以再打一个命令将密码消掉。

grant

select,insert,update,delete on mydb.* to test2@localhost identified by ""

二、数据库 *** 作

1、show databases//列出数据库

2、use

database_name //使用database_name数据库

3、create database data_name

//创建名为data_name的数据库

4、drop database data_name //删除一个名为data_name的数据库

三、表 *** 作

1、show databases//列出所有数据库

use 数据库名

//到达某一数据库

show tables //列出所有表

create table tab_name(

id int(10)

not null auto_increment primary key,

name varchar(40),

pwd varchar(40)

) charset=gb2312创建一个名为tab_name的新表

2、drop table tab_name

删除名为tab_name的数据表

3、describe tab_name //显示名为tab_name的表的数据结构

4、show

columns from tab_name //同上

5、delete from tab_name //将表tab_name中的记录清空

6、select * from tab_name //显示表tab_name中的记录

7、mysqldump -uUSER -pPASSWORD

--no-data DATABASE TABLE >table.sql //复制表结构

四、修改表结构

1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name)

说明:更改表得的定义把某个栏位设为主键。

2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name)

说明:把主键的定义删除

3、 alter table tab_name add col_name varchar(20)

//在tab_name表中增加一个名为col_name的字段且类型为varchar(20)

4、alter table tab_name drop

col_name //在tab_name中将col_name字段删除

5、alter table tab_name modify col_name

varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据

SQL

Server200下的写法是:Alter Table table_name Alter Column col_name varchar(30) not

null

6、如何修改表名:alter table tab_name rename to new_tab_name

7、如何修改字段名:alter table tab_name change old_col new_col varchar(40)

//必须为当前字段指定数据类型等属性,否则不能修改

8、create table new_tab_name like old_tab_name

//用一个已存在的表来建新表,但不包含旧表的数据

五、数据的备份与恢复

导入外部数据文本:

1.执行外部的sql脚本

当前数据库上执行:mysql <input.sql

指定数据库上执行:mysql [表名] <

input.sql

2.数据传入命令 load data local infile "[文件名]" into table [表名]

备份数据库:(dos下)

mysqldump --opt school>school.bbb

mysqldump -u

[user] -p [password] databasename >filename (备份)

mysql -u [user] -p

[password] databasename <filename (恢复)

在老版本的MySQL 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。

而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。

当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制,而是其自身的限制。从Innodb的官方文档中可以看到,其表空间的最大限制为64TB,也就是说,Innodb的单 表限制基本上也在64TB左右了,当然这个大小是包括这个表的所有索引等其他相关数据。

而当使用独享表空间来存放Innodb的表的时候,每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了。


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

原文地址: https://outofmemory.cn/sjk/6837528.html

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

发表评论

登录后才能评论

评论列表(0条)

保存