阿里云RDS数据恢复方法

某天,公司的数据库被某运维同学用自动化脚本批量改了一批数据,并且改出问题来了,需要恢复修改的数据。由于我司采用了阿里云的云数据库 RDS,于是我登录了公司的阿里云控制台进行了恢复操作,操作过程总结如下,供需要的同学参考。

在 Terminal 中打开 Sublime

1
open  ~/.bash_profile
1
alias sb="open -a /Applications/Sublime\ Text.app"
1
source ~/.bash_profile

sb. 打开当前文件夹
sb file 打开当前已存在文件或文件夹

Terminal 设置 path、alias

1
vi ~/.bash_profile
1
2
3
alias rn='react-native'
alias ro='react-native run-ios'
export PATH=$PATH:/usr/local/mysql/bin
1
esc
1
:wq!
1
source ~/.bash_profile

常用 MySQL 数据库语句

建表语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE `t_user` (
`id` varchar(30) NOT NULL COMMENT 'ID',
`login` varchar(100) NOT NULL COMMENT '账号',
`password` varchar(100) NOT NULL COMMENT '密码',
`nickname` varchar(10) DEFAULT NULL COMMENT '昵称',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`phoneCode` varchar(10) DEFAULT '86' COMMENT '国际电话区号',
`phone` varchar(30) DEFAULT NULL COMMENT '手机',
`create_at` varchar(24) DEFAULT NULL COMMENT '创建日期',
`create_by` varchar(30) DEFAULT NULL COMMENT '创建者',
`update_at` varchar(24) DEFAULT NULL COMMENT '修改日期',
`update_by` varchar(30) DEFAULT NULL COMMENT '修改者',
`delete_at` varchar(24) DEFAULT NULL COMMENT '删除日期',
`delete_by` varchar(30) DEFAULT NULL COMMENT '删除者',
PRIMARY KEY (`id`),
UNIQUE KEY `login` (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表’;

增加字段

1
2
ALTER TABLE `t_user`
ADD COLUMN `qq` VARCHAR(15) DEFAULT NULL COMMENT 'QQ'; -- 增加一个 qq 字段

删除字段

1
2
ALTER TABLE `t_user`
DROP COLUMN `email`; -- 删除一个 email 字段

删除索引

1
2
ALTER TABLE `t_user`
DROP INDEX `login`; -- 删除 login 索引

修改字段

1
2
ALTER TABLE `t_user`
MODIFY COLUMN `nickname` VARCHAR(20) DEFAULT NULL COMMENT '昵称'; -- 修改 nickname 字段长度为 varchar(20)

修改字段名称

1
2
ALTER TABLE `t_user`
CHANGE COLUMN `phoneCode` `phone_code` VARCHAR(10) DEFAULT '86' COMMENT '国际电话区号'; -- 修改 phoneCode 字段为 phone_code

在某个字段后面插入一个字段

1
2
ALTER TABLE `t_user`
ADD COLUMN `wechat` VARCHAR(15) DEFAULT NULL COMMENT '微信' AFTER `phone`; -- 在 phone 字段后添加一个 wechat 字段

多条语句连起来写,中端用逗号分隔开

1
2
3
ALTER TABLE `t_user`
CHANGE COLUMN `phoneCode` `phone_code` VARCHAR(10) DEFAULT '86' COMMENT '国际电话区号', -- 修改 phoneCode 字段为 phone_code
ADD COLUMN `wechat` VARCHAR(15) DEFAULT NULL COMMENT '微信' AFTER `phone`; -- 在 phone 字段后添加一个 wechat 字段

删除表

1
DROP TABLE `t_user`; -- 删除 t_user 表

MongoDB 在Shell中插入/更新的整数会变成浮点数

从 shell 中更新/写入到文档的数字,会变为 float 类型

引用:“shell 中的数字都被 MongoDB 当作是双精度数。这意味着如果你从数据库中获得的是一个 32 位整数,修改文档后,将文档存回数据库的时候,这个整数也就被换成了浮点数,即便保持这个整数原封不动也会这样的。”

参考:《MongoDB 权威指南》第一版

db.data.update({‘name’: ‘zero’}, {‘$set’: {‘value’: 0}})
db.data.findOne({‘name’: ‘zero})

{'name': 'zero', 'value': 0.0}  

db.data.update({‘name’: ‘zero’}, {‘$set’: {‘value’: NumberInt(0)}})

http://stackoverflow.com/questions/8218484/mongodb-inserts-float-when-trying-to-insert-integer

bash 命令行常用快捷键整理

编辑命令

命令解释
Ctrl + a移到命令行首
Ctrl + e移到命令行尾
Ctrl + f按字符前移(右向)
Ctrl + b按字符后移(左向)
Alt + f按单词前移(右向)
Alt + b按单词后移(左向)
Ctrl + xx在命令行首和光标之间移动
Ctrl + u从光标处删除至命令行首
Ctrl + k从光标处删除至命令行尾
Ctrl + w从光标处删除至字首
Alt + d从光标处删除至字尾
Ctrl + d删除光标处的字符
Ctrl + h删除光标前的字符
Ctrl + y粘贴至光标后
Alt + c从光标处更改为首字母大写的单词
Alt + u从光标处更改为全部大写的单词
Alt + l从光标处更改为全部小写的单词
Ctrl + t交换光标处和之前的字符
Alt + t交换光标处和之前的单词
Alt + Backspace与 Ctrl + w 类似,分隔符有些差别
Ctrl + r逆向搜索命令历史
Ctrl + g从历史搜索模式退出
Ctrl + p历史中的上一条命令
Ctrl + n历史中的下一条命令
Alt + .使用上一条命令的最后一个参数

控制命令

命令解释
Ctrl + l清屏
Ctrl + o执行当前命令,并选择上一条命令
Ctrl + s阻止屏幕输出
Ctrl + q允许屏幕输出
Ctrl + c终止命令
Ctrl + z挂起命令