Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | 视频教程 | bilibili | Github | OSChina 博客 | 云社区 | 云栖社区 | Facebook | Linkedin | 打赏(Donations) | About
知乎专栏多维度架构 | 微信号 netkiller-ebook | 51CTO:视频教程

Netkiller Database 手札

PostgreSQL, MariaDB, MySQL, Oracle, Redis, MongoDB, Elasticsearch ...

Mr. Neo Chan, 陈景峯(BG7NYT)



中国广东省深圳市望海路半岛城邦三期
518067
+86 13113668890


文档初创于April 6, 2008

电子书最近一次更新于 2021-07-20 12:16:25

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信订阅号 netkiller-ebook
微信:13113668890 请注明“读者”
QQ:13721218 请注明“读者”
QQ群:128659835 请注明“读者”
知乎专栏 | 多维度架构

$Date: 2013-05-21 19:01:33 +0800 (Tue, 21 May 2013) $


致读者

Netkiller 系列电子书始于 2000 年,风风雨雨走过20年,将在 2020 年终结,之后不在更新。作出这种决定原因很多,例如现在的阅读习惯已经转向短视频,我个人的时间,身体健康情况等等......

感谢读者粉丝这20年的支持

虽然电子书不再更新,后面我还会活跃在知乎社区和微信公众号

目录

1. 自述
1.1. 写给读者
1.2. 作者简介
1.3. 如何获得文档
1.4. 打赏(Donations)
1.5. 联系方式
I. Database Relational
1. DB-Engines - DB-Engines Ranking
2. SysBench
3. SuperSmack
4. ETL (Extract-Transform-Load)
4.1. Kettle
4.1.1. 安装
4.1.1.1. Mac 安装
4.1.1.2.
4.2. suro
5. 数据迁移
5.1. Apache Sqoop
6. GreenSQL
7. Database design & E-R diagram
7.1. opensource database design tools
7.2. OpenSystemArchitect
7.3. SQL Power Architect
II. Search Engine
8. Elasticsearch
8.1. 安装 Elasticsearch
8.1.1. 6.x 安装
8.1.2. 单机模式 (适用于开发环境) 5.x
8.1.3. Elasticsearch Cluster 5.x
8.1.3.1. 负载均衡配置
8.1.4. docker-compose 安装
8.1.5. Kubernetes
8.1.6. 安装指定版本的 Elasticsearch
8.1.7. Plugin
8.1.7.1. elasticsearch-analysis-ik
8.1.7.2. elasticsearch-analysis-pinyin
8.1.8. Elastic Cloud on Kubernetes
8.1.9. 发现配置
8.1.9.1. 即将废弃
8.2. 文档API
8.2.1. 快速上手
8.2.2. 写入 PUT/POST
8.2.3. 获取 GET
8.2.3.1. _source
8.2.4. 检查记录是否存在
8.2.5. 删除 Delete
8.2.6. 参数
8.2.6.1. pretty 格式化 json
8.3. 搜索
8.3.1. URL 搜索
8.3.2. 分页
8.4. Query DSL
8.4.1. match 匹配
8.4.2. multi_match 多字段匹配
8.4.3. Query bool 布尔条件
8.4.3.1. must
8.4.3.2. should
8.4.3.3. must_not
8.4.4. filter 过滤
8.4.5. sort 排序
8.4.6. _source
8.4.7. highlight 高亮处理
8.5. 集群管理
8.5.1. 节点健康状态
8.5.2. 节点http状态
8.5.3. 查看master节点
8.5.4. 查看索引的节点分布
8.5.5. 索引的开启与关闭
8.5.5.1. _open
8.5.5.2. _close
8.6. 中文分词插件管理
8.6.1. 通过 elasticsearch-plugin 命令安装分词插件
8.6.2. 手工安装插件
8.6.3. 创建索引
8.6.4. 删除索引
8.6.5. 配置索引分词插件
8.6.5.1. 测试分词效果
8.7. 索引管理
8.7.1. 查看索引
8.7.2. 删除索引
8.8. 映射
8.8.1. 查看 _mapping
8.8.2. 删除 _mapping
8.8.3. 创建 _mapping
8.8.4. 更新 mapping
8.8.5. 修改 _mapping
8.8.6. 数据类型
8.8.6.1. date
8.9. Alias management 别名管理
8.9.1. 查看索引别名
8.9.2. 创建索引别名
8.9.3. 修改别名
8.9.4. 删除别名
8.10. Example
8.10.1. 新闻资讯应用案例
8.10.2. 文章搜索案例
8.11. Migrating MySQL Data into Elasticsearch using logstash
8.11.1. 安装 logstash
8.11.2. 配置 logstash
8.11.3. 启动 Logstash
8.11.4. 验证
8.11.5. 配置模板
8.11.5.1. 全量导入
8.11.5.2. 多表导入
8.11.5.3. 通过 ID 主键字段增量复制数据
8.11.5.4. 通过日期字段增量复制数据
8.11.5.5. 指定SQL文件
8.11.5.6. 参数传递
8.11.5.7. 控制返回JDBC数据量
8.11.5.8. 输出到不同的 Elasticsearch 中
8.11.5.9. 日期格式转换
8.11.5.10. example
8.11.6. 解决数据不对称问题
8.11.7. 修改 Mapping
8.12. ElasticHD
8.13. 安装 Elasticsearch 2.3
8.13.1. RPM 安装
8.13.2. YUM 安装
8.13.3. 测试安装是否正常
8.13.4. Plugin 插件管理
8.13.4.1. 手工安装插件
8.13.4.2. plugin 命令
8.13.4.3. 插件测试
8.14. FAQ
8.14.1. Plugin [analysis-ik] is incompatible with Elasticsearch [2.3.5]. Was designed for version [2.3.4]
8.14.2. plugin [analysis-ik] is incompatible with version [5.6.1]; was designed for version [5.5.2]
8.14.3. mapper_parsing_exception: failed to parse [ctime]
8.14.4. 配置 JAVA_HOME
8.14.5. memory locking requested for elasticsearch process but memory is not locked
9. Solr
9.1. 安装
9.2. Core Admin
9.2.1. Schema
9.3. 索引
9.3.1. Indexing a directory of "rich" files
9.3.2. Indexing Solr XML
9.3.3. Indexing JSON
9.3.4. Deleting Data
9.4. 接口
9.4.1. 查询
9.5. FAQ
9.5.1. NOTE: Please install lsof as this script needs it to determine if Solr is listening on port 8983.
9.6. Solr 1.3.0
9.6.1. Embedded Jetty
9.6.2. Jetty
9.6.3. Tomcat
9.6.4. solr-php-client
9.6.5. multicore
9.6.6. 中文分词
9.6.6.1. ChineseTokenizerFactory
9.6.6.2. CJK
9.6.6.3. mmseg4j
9.6.6.4. 中文分词“庖丁解牛” Paoding Analysis
10. Nutch
11. Sphinx
12. Lucene
13. MG4J
14. PhpDig
15. Mahout
16. Apache Hbase
16.1. 安装 Apache Hbase
16.1.1. 单机模式安装
16.1.2. 伪分布式模式
16.1.3. 分布式模式部署
16.1.4. 运维技巧
16.2. 配置 Apache Hbase
16.2.1. hbase-env.sh
16.2.2. hbase-site.xml
16.3. Hbase Shell
16.3.1. 表操作
16.4. Web UI
16.5. Phoenix
16.5.1. 安装 Phoenix
16.5.2. sqlline.py 命令行界面
16.5.2.1. 帮助信息
16.5.2.2. 创建表
16.5.3. SQuirreL SQL Client
16.6. FAQ
16.6.1. HBaseConfTool : Unsupported major.minor version 51.0
16.6.2. ignoring option PermSize=128m; support was removed in 8.0
17. Apache Hive
17.1. 安装 Apache Hive
17.1.1. MySQL
17.1.2. Hadoop
17.1.3. Hive
17.1.4. 启动 Hive
17.1.5. 访问 Hive
17.1.6. 配置 hiveserver2
17.2. beeline
17.3. 管理 Hive
17.3.1. 表管理
17.3.1.1. 创建表
17.3.1.2. 显示表
17.3.1.3. 删除表
17.3.1.4. 查看表结构
17.3.1.5. 为表增加字段
17.3.1.6. 修改表名称
17.3.1.7. 使用已有表结构创建新表
17.3.2. 分区表
17.3.2.1. 创建分区表
17.3.2.2. 显示分区情况
17.3.2.3. 增加分区
17.3.2.4. 向分区表导入数据
17.3.3. 视图管理
17.3.3.1. 创建视图
17.3.3.2. 删除视图
17.3.4. 数据管理
17.3.4.1. 从文本文件导入数据
17.3.4.2. 从其他表查询数据并创建新表
17.3.4.3. 从其他表查询数据然后插入指定表中
17.3.4.4. 从现有表中查询数据然后插入到新的分区表中
17.3.5. HDFS与本地文件系统管理
17.3.5.1. HDFS 目录迁移
17.3.5.2. 导出表数据到本地文件
17.3.5.3. 导出到HDFS
17.3.5.4.
17.4. HiveQL - Hive查询语言
17.4.1. JOIN 连接查询
17.4.2. 子查询
17.5. FAQ
17.5.1. adoop.security.authorize.AuthorizationException): User: hadoop is not allowed to impersonate anonymous
18. Apache Sqoop
18.1. 安装 Sqoop
18.2. sqoop2-tool
18.2.1. verify
18.2.2. upgrade
18.3. sqoop2-shell
18.3.1. show version
18.3.2. set
18.3.2.1. server
18.3.2.2. 要设置可查看具体出错信息
18.3.3. show connector
18.3.4. link
18.3.4.1. hdfs-connector
18.3.4.2. generic-jdbc-connector
18.3.5. job
18.3.5.1. create job
18.3.5.2. show job
18.3.5.3. start job
18.3.5.4. status job
18.3.6. update
18.3.6.1. link
18.4. FAQ
18.4.1. Unable to load native-hadoop library for your platform
III. MySQL
19. MySQL Server
19.1. MySQL Installation
19.1.1. CentOS
19.1.1.1. CentOS 8 Stream + dnf 安装 Mysql
19.1.1.2. CentOS 6.2 + MySQL 5.5.25 (RPM)
19.1.1.3. MySQL 8.0
19.1.2. Installation by apt under debian/ubuntu
19.1.2.1. mysql-5.5.21-debian6.0-i686.deb
19.1.3. Installation by source code
19.1.4. MySQL binary distribution
19.1.5. Docker
19.1.6. mysql-admin
19.1.7. Installing MySQL on Linux Using the MySQL Yum Repository
19.1.7.1. MySQL 5.6
19.1.7.2. MySQL 5.7
19.1.8. Firewall
19.1.9. Limit 状态
19.1.10. 使用 Btrfs 文件系统存储mysql数据
19.1.11. Mac OS
19.2. MariaDB
19.2.1. CentOS 6 YUM 安装 MariaDB
19.2.2. CentOS 7 安装 MariaDB
19.3. Percona
19.3.1. Percona yum Repository
19.3.2. Percona XtraBackup
19.3.2.1. 安装 XtraBackup
19.3.2.2. innobackupex
19.3.2.3. xbstream
19.3.2.4. xtrabackup
19.3.3. Percona Toolkit - MySQL Management Software
19.4. my.cnf
19.4.1. bind-address
19.4.2. 禁用TCP/IP链接
19.4.3. 配置字符集
19.4.4. 最大链接数 max_connections
19.4.5. 默认引擎 storage-engine
19.4.6. max_allowed_packet
19.4.7. skip-name-resolve
19.4.8. timeout
19.4.9. 与复制有关的参数
19.4.9.1. 用于主库的选项 Master
19.4.9.2. 用于从库的选项 Slave
19.4.9.3. 逃过错误
19.4.10. 与 InnoDB 有关的配置项
19.4.11. EVENT 设置
19.4.12. 日志
19.4.13. MySQL 5.7 my.cnf 实例
19.4.14. Example for my.cnf
19.5. MySQL Plugin
19.5.1. validate_password
19.5.2. MySQL Images manager
19.5.3. MySQL fifo
19.5.4. 内容输出到文本插件
19.6. Replication
19.6.1. Master Slave
19.6.1.1. Master
19.6.1.2. Slave
19.6.1.3. Testing
19.6.1.4. 将现有数据库迁移到主从结构数据库
19.6.1.5. 主从复制安全问题
19.6.2. Master Master(主主)
19.6.2.1. Master A
19.6.2.2. Master B
19.6.2.3. 将Master A 数据库 同步到 Master B 两端数据库内容保持一致
19.6.2.4. Master A - B 同步两端数据库
19.6.2.5. Master A 数据库解除只读权限
19.6.2.6. 查看主主的工作状态
19.6.3. Semisynchronous Replication
19.6.3.1. Master
19.6.3.2. Slave 配置
19.6.3.3. 卸载插件
19.6.3.4. my.cnf
19.6.4. multi-master replication
19.6.5. multi-source replication
19.6.6. 与复制有关的问题
19.6.6.1. 主从不同步问题
19.6.6.2. mysql-bin 清理问题
19.6.6.3. 跳过 Last_Errno
19.6.6.4. 重置Slave
19.6.7. GTID
19.6.7.1. Master
19.6.7.2. Slave
19.7. MySQL Custer
19.7.1. Management node (MGM node)
19.7.2. Data node
19.7.3. SQL node
19.7.4. Starting
19.7.5. Shutdown
19.7.6. Testing
19.8. MySQL Proxy
19.8.1. Ubuntu
19.8.2. CentOS
19.8.2.1. FAQ
19.9. MySQL Router
19.9.1. 安装 MySQL Router
19.9.2. 配置 MySQL Router
19.9.2.1. 主备配置
19.9.2.2. 负载均衡配置
19.9.3. MySQL Router , Haproxy,LVS 的选择
19.10. variables
19.10.1. time_zone
19.10.2. sql_mode
19.10.2.1. 设置 sql_mode
19.10.2.2. 查看 sql_mode
19.10.2.3. 兼容早起 MySQL 版本
19.10.2.4. 5.7.16
19.10.3. wait_timeout
19.10.4. table_lock_wait_timeout
19.10.5. low_priority_updates
19.10.6. collation_server
19.10.7. character_set
19.10.8. datadir
19.10.9. plugin_dir
19.10.10. storage_engine
19.10.11. timeout
19.10.12. max_connections
19.11. SHOW COMMAND
19.11.1. 查看版本
19.11.2. status
19.11.2.1. show status
19.11.2.2. show master status
19.11.2.3. show slave status
19.11.2.4. show plugins
19.11.3. show processlist
19.11.4. binary 日志
19.11.5. 线程的使用情况
19.11.6. DATABASES
19.11.7. TABLE
19.11.8. 临时表
19.11.9. 排序统计信息
19.11.10. Key 状态
19.11.11. FUNCTION
19.11.12. PROCEDURE
19.11.13. TRIGGERS
19.11.14. EVENTS
19.11.15. 引擎(ENGINES)
19.11.16. 字符集(Collation)
19.11.17. SHOW GRANTS
19.11.18. validate_password
19.12. Monitoring
19.12.1. Analysis and Optimization
19.12.1.1. mytop - top like query monitor for MySQL
19.12.1.2. mtop - MySQL terminal based query monitor
19.12.1.3. innotop
19.12.1.4. mysqlreport - A friendly report of important MySQL status values
19.12.1.5. mysqltuner - MySQL configuration assistant
19.12.2. Munin
19.12.3. Cacti
19.12.4. Monitoring MySQL with SNMP
20. Client and Utility Programs
20.1. mysql - the MySQL command-line tool
20.1.1. ~/.my.cnf
20.1.2. 屏幕输出到文件
20.1.3. 终端编码
20.1.4. Unix Socket
20.1.5. 重定向巧用
20.1.6. --sigint-ignore 忽略 Ctrl + C
20.2. mysqldump - a database backup program
20.2.1. 备份数据库并压缩文件
20.2.2. 备份数据库/表
20.2.3. 备份到文件
20.2.4. 备份数据库,无结构,只有数据
20.2.5. 使用完整的insert插入数据
20.2.6. --extended-insert / --skip-extended-insert
20.2.7. --skip-lock-tables
20.2.8. --skip-add-locks
20.2.9. --where
20.2.10. 注释信息--comments /--skip-comments
20.2.11. 不导出注释信息
20.2.12. 字符集设置
20.3. mysqladmin - client for administering a MySQL server
20.3.1. reload
20.3.2. 更改密码
20.3.3. status
20.3.4. process list
20.4. myisamchk — MyISAM Table-Maintenance Utility
20.5. mysqlcheck — A Table Maintenance and Repair Program
20.6. mysqlslap - load emulation client
20.7. mysqldumpslow - Parse and summarize the MySQL slow query log.
20.8.
20.9. mysql log
21. 数据库管理(Database Administration)
21.1. 用户管理(User Account Management)
21.1.1. 创建用户
21.1.2. 删除用户
21.1.3. 修改用户名
21.1.4. 修改密码
21.2. Access Privilege System
21.2.1. SHOW GRANTS
21.2.2. show privileges
21.2.3. Grant privileges
21.2.4. Revoke privileges
21.2.5. Show Privileges
21.2.6. MAX_QUERIES_PER_HOUR/MAX_UPDATES_PER_HOUR
21.2.7. Table Privileges
21.2.8. Column Privileges
21.3. Maintenance 数据库维护
21.3.1. CHECK 检查表
21.3.2. ANALYZE 分析表
21.3.3. CHECKSUM
21.3.4. OPTIMIZE 优化表
21.3.5. REPAIR 修复
21.4. INFORMATION_SCHEMA
21.4.1. 查询表字段
21.4.2. 列出所有触发器
21.5. Backup and Recovery
21.5.1. Import / Export
21.5.1.1. Export(Backup)
21.5.1.2. Import(Recovery)
21.5.1.3. xml
21.5.1.4. 备份表数据
21.5.1.5. source
21.5.1.6. 使用 mysqlhotcopy 备份 MyISAM 引擎的数据库
21.5.1.7. AutoMySQLBackup
21.5.1.8. xtrabackup - Open source backup tool for InnoDB and XtraDB.
21.5.2. Snapshot Backup
21.5.2.1. LVM Snapshot
21.5.2.2. Btrfs Snapshot
22. DDL - Data Definition Language
22.1. 数据库管理(Database)
22.1.1. create
22.1.2. drop
22.1.3. 修改数据库
22.1.4. Rename
22.1.5. CHARACTER
22.1.6. show create database
22.2. 表管理(Table)
22.2.1. 数据类型
22.2.1.1. SET 集合类型
22.2.2. create table ... select
22.2.3. modifiy table
22.2.4. TEMPORARY Table
22.2.5. Collate
22.2.6. CHARACTER
22.2.7. DEFAULT
22.2.7.1. AUTO_INCREMENT
22.2.7.2. TIMESTAMP NULL DEFAULT NULL ON UPDATE
22.2.7.3. 表存储位置(DATA DIRECTORY)
22.2.8. KEY
22.2.8.1. PRIMARY KEY
22.2.9. AUTO_INCREMENT 定义初始值
22.2.10. COMMENT
22.2.11. Engine 存储引擎
22.2.11.1. 显示当前数据库支持引擎
22.2.11.2. 切换引擎
22.2.11.3. FEDERATED
22.2.11.4. BLACKHOLE
22.2.11.5. ARCHIVE
22.2.11.6. CSV
22.3. Partitioning
22.3.1. RANGE
22.3.2. LIST
22.3.3. HASH
22.3.3.1. LINEAR HASH
22.3.4. KEY分区
22.3.5. Subpartitioning
22.3.6. 分区管理
22.3.6.1. 新增分区
22.3.6.2. 删除分区
22.3.6.3. 重建分区
22.3.6.4. 分区维护
22.3.7. EXPLAIN PARTITIONS
22.3.8. SHOW CREATE TABLE
22.3.9. INFORMATION_SCHEMA.partitions 表
22.3.10. 分区数据操作
22.4. Index
22.4.1. SHOW INDEX
22.4.2. CREATE INDEX
22.4.3. DROP INDEX
22.4.4. rebuild
22.5. 外键(Foreign Key)
22.5.1. FOREIGN KEY (RESTRICT)
22.6. 视图(View)
22.7. 存储过程(PROCEDURE)
22.7.1. 存储程序
22.7.2. EXECUTE 执行 SQL
22.7.3. PREPARE 传递参数
22.7.4. 存储过程返回数据
22.7.5. 结果集转JSON
22.7.6. 例子·过程返回结果
22.8. 函数
22.8.1. TIMESTAMP TO ISO8601
22.9. 触发器(Trigger)
22.9.1. create trigger
22.9.1.1. Update 更新出发
22.9.1.2. Delete 删除出发
22.9.1.3. Insert 插入出发
22.9.2. drop trigger
22.9.3. show triggers
22.9.3.1. SHOW CREATE TRIGGER
22.9.4. EXAMPLE
22.9.4.1. BEFORE/AFTER
22.9.4.2. UUID
22.9.4.3. CALL PROCEDURE
22.10. 事件调度器(EVENT)
22.10.1. 启用 EVENT
22.10.2. 创建 EVENT
22.10.3. 禁用/启用
22.10.4. show events
22.10.5. 实例·每月创建一个表
23. DML (Data Manipulation Language)
23.1. INSERT
23.1.1. INSERT INTO ... SELECT
23.1.2. INSERT IGNORE
23.1.3. INSERT...ON DUPLICATE KEY UPDATE
23.2. REPLACE
23.3. DELETE
23.3.1. 删除重复数据
24. SQL Statement Syntax
24.1. DISTINCT
24.2. group by
24.3. HAVING
24.4. REGEXP
24.5. IN / NOT IN
24.6. ALL / Any
24.7. exists, not exists
24.8. UNION
24.8.1. UNION ALL
24.8.2. 两张表字段不对等解决方法
24.9. OUTFILE/LOAD DATA INFILE
24.9.1. Export data to CSV from MySQL
24.9.2. Import data from CSV file.
24.10. CASE Syntax
24.11. MySQL 专有命令
24.11.1. SQL_NO_CACHE
24.11.2. SIGNAL Syntax
24.12. SQL 92
25. Functions and Operators
25.1. COUNT
25.2. group_concat() 列传行
25.3. UUID()
25.4. String
25.4.1. LEFT/RIGHT
25.4.2. RPAD/LPAD
25.4.3. CONCAT
25.4.4. CONCAT_WS
25.4.5. 链接所有字段
25.4.6. GROUP_CONCAT
25.4.7. replace
25.4.8. SUBSTRING
25.4.9. SUBSTRING_INDEX
25.4.10. AES_ENCRYPT / AES_DECRYPT
25.5. Date and Time
25.5.1. year/month/day hour:minite:second
25.5.2. Unix time
25.5.3. DATE_FORMAT
25.5.4. DATE_SUB/DATE_ADD
25.5.4.1. DATE_ADD
25.5.5. datediff / timediff
25.6. 数值函数
25.6.1. cast 类型转换
25.6.2. truncate 保留小数位数
25.6.3. MOD 求余
25.7. Control Flow Functions
26. DCL (Data Control Language)
26.1. 锁
26.1.1. 共享锁
26.1.2. 排他锁
26.1.3. 锁
26.1.3.1. 表的加锁与解锁
26.1.3.2. 禁止查询
26.1.4. 锁等待与超时
26.1.4.1. 超时设置
26.1.4.2. select for update nowait
26.2. 事务处理和锁定语句
26.2.1. 事务隔离级别
26.2.2. 事务所用到的表
26.2.3. 解决更新冲突
26.2.4. 共享锁
26.2.5. SAVEPOINT
27. Optimization
27.1. 打开表的数量
27.2. Buffering and Caching
27.2.1. Query Cache SELECT Options
27.3. where 优化
27.4. SHOW PROFILE Syntax SQL性能分析器
27.5. PROCEDURE ANALYSE()
28. MySQL Connectors
28.1. JDBC
28.2. ODBC
28.3. MySQL native driver for PHP - mysqlnd
28.4. python-mysqldb
29. MySQL GUI/Web Manager
29.1. HeidiSQL
29.2. Toad for MySQL Freeware
29.3. phpMyAdmin - MySQL web administration tool
29.4. Maatkit Essential command-line utilities for MySQL
30. Miscellaneous
30.1. Multi-Master Replication Manager for MySQL
30.2. MHA
30.3. HandlerSocket
30.4. Maatkit
30.5. Mroonga
30.6. Amoeba
31. FAQ
31.1. Reset root password 重置MySQL root密码
31.1.1. MySQL 5.7.x
31.1.2. MySQL 8.0
31.2. 数据库内容替换
31.3. 查看错误代码
31.3.1. ERROR 1153 (08S01) at line 3168: Got a packet bigger than 'max_allowed_packet' bytes
31.3.2. ERROR 1129 (00000): Host 'XXXXXX' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
31.4. 临时表是否需要建索引
31.5. Kill 脚本
31.6. ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function
31.7. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
31.8. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
31.9. 重新整理AUTO_INCREMENT字段
31.10. 转换 latin1 到 UTF-8
31.11. this is incompatible with sql_mode=only_full_group_by
31.12. [Warning] Changed limits: max_open_files: 5000 (requested 20480)
31.13. Error Code: 1146. Table 'test.CACHE_UPDATE' doesn't exist
31.14. ERROR 1364: 1364: Field 'id' doesn't have a default value
31.15. ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
31.16. ERROR 1086 (HY000): File '/var/lib/mysql-files/order.txt' already exists
31.17. ERROR 1415: Not allowed to return a result set from a trigger
31.18. ERROR 3024 (HY000): Query execution was interrupted, maximum statement execution time exceeded
31.19. Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such fileor directory
31.20. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
IV. Redis
32. Redis 安装
32.1. CentOS 7
32.2. CentOS 6
32.2.1. 主从同步
32.2.2. Sentinel
32.3. Ubuntu
32.4. Mac 安装 Redis
32.5. 源码编译安装
32.6.
32.7. Test Redis
33. /etc/redis.conf
33.1. 密码认证
33.2. maxmemory-policy TTL 过期策略配置
34. redis-cli - Command-line client to redis-server
34.1. 命令参数
34.1.1. password
34.1.2. raw
34.2. --latency Enter a special mode continuously sampling latency.
34.3. auth
34.4. MONITOR
34.5. info
34.6. save/bgsave/lastsave
34.7. config
34.8. keys
34.9. 字符串操作
34.9.1. set/get/del
34.9.2. setnx
34.10. expire/ttl
34.11. 获取 key 类型
34.12. LIST 数据类型
34.13. set 无序字符集合
34.14. zset (有序集合)
34.15. Pub/Sub 订阅与发布
34.16. flushdb 清空 Redis 数据
35. redis-benchmark 测试工具
36. Redis Cluster
37. Redis 通信协议
37.1. 切换DB
37.2. 监控
38. phpRedisAdmin
39. Redis 开发
39.1. 消息订阅与发布
40. A fast, light-weight proxy for memcached and redis
41. FAQ
41.1. 清空数据库
41.2. (error) MISCONF Redis is configured to save RDB snapshots
V. MongoDB
42. Install 安装MongoDB
42.1. CentOS 8 Stream
42.2. 二进制tar包安装
42.3. Ubuntu MongoDB
42.4. CentOS 7 MongoDB
42.5. 从官网安装最新版本的 MongoDB 3.4
42.5.1. Server
42.5.2. Client
42.5.3. 工具
42.6. MongoDB + Hadoop
42.7. OSCM 一键安装 MongoDB 4.0.2
42.8. Replication
42.9. Drivers
42.9.1. Using MongoDB in PHP
43. MongoDB 管理
43.1. Security and Authentication
43.1.1. 超级管理员
43.1.2. 数据库访问用户
43.1.3. 数据库监控用户
43.1.4. 删除用户
43.1.5. 更新角色
44. 命令工具
44.1. mongo - MongoDB Shell
44.1.1. eval
44.1.2. help
44.1.3. 登陆认证
44.1.4. 管道操作
44.2. mongodump - Backup
44.2.1. 远程备份
44.2.2. 本地备份
44.3. mongorestore
44.3.1. 远程回复
44.3.2. 本地恢复
44.3.3. filter
44.4. mongostat
44.5. mongotop
44.6. mongofiles - Browse and modify a GridFS filesystem.
44.6.1. list 浏览文件
44.6.2. put 上传文件
44.6.3. get 下载
44.6.4. delete 删除
45. MongoDB Shell
45.1. shutdownServer
45.2. show 查看命令
45.2.1. show dbs
45.2.2. show collections
45.2.3. show users
45.2.4. show profile
45.3. 切换数据库
45.4. save
45.5. insert
45.6. update
45.6.1. multi 更新所有数据
45.6.2. upsert 更新,如果不存在则插入数据
45.7. remove
45.7.1. 删除条件使用 _id
45.8. 删除 collection
45.8.1. 删除字段
45.9. count()
45.10. 查询
45.10.1. find() MongoDB 2.x
45.10.2. find() MongoDB 3.x
45.10.2.1. Query
45.10.2.2. 包含字段
45.10.2.3. 排除字段
45.10.2.4. sort()
45.10.3. group()
45.11. aggregate
45.11.1. project
45.11.1.1. $split
45.11.1.2. substr
45.11.2. groupby + sum
45.12. Indexes 索引
45.12.1. 查看索引
45.12.2. 创建索引
45.12.3. 删除索引
45.12.4. 唯一索引
45.12.5. 复合索引
45.12.6. 稀疏索引
45.13. Map-Reduce
45.13.1. 使用 Map-Reduce 统计Web 服务器 access.log 日志文件
45.14. 内嵌对象
45.14.1. Array / List 列表类型
45.15. Javascript 脚本
46. Mongo Admin UI
46.1. RockMongo
46.2. MongoVUE
47. Cassandra
47.1. Getting Started
47.1.1. Downloading and Installation
47.1.2. Running Cassandra
47.1.3. cli tool
47.1.4. Testing Cassandra
47.2. Configure Cassandra
47.2.1. Envionment variables
47.2.2. log4j.properties
47.2.3. storage-conf.xml
47.3. Keyspace
47.3.1. Schema
47.3.1.1. Keyspace
47.3.1.2. Column family
47.3.1.2.1. Name
47.3.1.2.2. Column
47.3.1.2.3. Super column
47.3.1.2.4. Sorting
47.3.2. Keyspace example
47.4. Cluster
47.4.1. Running a cluster
47.4.2. Running a single node
47.4.3. nodetool
48. Hypertable
48.1. Hypertable 安装
48.1.1. Hypertable standalone 单机安装
48.1.2. Hypertable on HDFS(hadoop) 安装
48.1.3. MapR
48.1.4. Ceph
48.1.5. 检验安装
48.2. Code examples
48.2.1. PHP
48.3. HQL
48.3.1. namespace 命名空间管理
48.3.2. Table 表
48.4. FAQ
48.4.1. 切换 DFS Broker
49. CouchBase
49.1. 安装 CouchBase
49.1.1. Getting Started with Couchbase on PHP
49.2. couchbase 命令
49.2.1. couchbase-cli
50. Memcached
50.1. 安装 Memcached
50.1.1. CentOS 下编译
50.1.2. Ubuntu 下编译安装
50.1.3. debian/ubuntu
50.1.4. yum install
50.1.4.1. CentOS 6.x
50.1.4.2. CentOS 7.x
50.2. Memcached 代理
50.2.1. moxi
50.2.2. memagent
51. RethinkDB
52. TokyoCabinet/Tyrant
53. Flare
54. Voldemort
55. LevelDB
56. HyperDex
57. LeoFS
VI. PostgreSQL
58. PostgreSQL 安装
58.1. Ubuntu 12.04.1 LTS 安装
58.2. YUM 默认源安装
58.3. PostgreSQL 官方 YUM 源安装
58.3.1. 9.2
58.3.2. 9.3
58.3.3. 9.4
58.3.4. 9.6
58.3.5. PostgreSQL 10
58.4. PostgreSQL 配置
58.4.1. postgresql.conf
58.4.2. pg_hba.conf
58.5. 创建dba用户
59. 数据库管理(Database Administration)
59.1. 用户管理(User Account Management)
59.1.1. 创建用户
59.1.2. 删除用户
59.1.3. 修改用户名
59.1.4. 修改密码
59.2. Access Privilege System
59.2.1. SHOW GRANTS
59.2.2. show privileges
59.2.3. Grant privileges
59.2.4. Revoke privileges
59.2.5. Show Privileges
59.2.6. MAX_QUERIES_PER_HOUR/MAX_UPDATES_PER_HOUR
59.2.7. Table Privileges
59.2.8. Column Privileges
59.3. Maintenance 数据库维护
59.3.1. CHECK 检查表
59.3.2. ANALYZE 分析表
59.3.3. CHECKSUM
59.3.4. OPTIMIZE 优化表
59.3.5. REPAIR 修复
59.4. INFORMATION_SCHEMA
59.4.1. 查询表字段
59.4.2. 列出所有触发器
59.5. Backup and Recovery
59.5.1. Import / Export
59.5.1.1. Export(Backup)
59.5.1.2. Import(Recovery)
59.5.1.3. xml
59.5.1.4. 备份表数据
59.5.1.5. source
59.5.1.6. 使用 mysqlhotcopy 备份 MyISAM 引擎的数据库
59.5.1.7. AutoMySQLBackup
59.5.1.8. xtrabackup - Open source backup tool for InnoDB and XtraDB.
59.5.2. Snapshot Backup
59.5.2.1. LVM Snapshot
59.5.2.2. Btrfs Snapshot
60. PostgreSQL 命令
60.1. psql - PostgreSQL interactive terminal
60.1.1. 执行文件
60.2. Backup / Restore
60.2.1. Backup
60.2.2. Restore
60.2.3. import
60.2.4. 导出指定 schema
60.2.5. PostgreSQL for windows
60.2.6. 大型数据库备份
60.2.7. schema之间迁移数据
61. DDL - Data Definition Language
61.1. 数据库管理(Database)
61.1.1. create
61.1.2. drop
61.1.3. 修改数据库
61.1.4. Rename
61.1.5. CHARACTER
61.1.6. show create database
61.2. 表管理(Table)
61.2.1. 数据类型
61.2.1.1. SET 集合类型
61.2.2. create table ... select
61.2.3. modifiy table
61.2.4. TEMPORARY Table
61.2.5. Collate
61.2.6. CHARACTER
61.2.7. DEFAULT
61.2.7.1. AUTO_INCREMENT
61.2.7.2. TIMESTAMP NULL DEFAULT NULL ON UPDATE
61.2.7.3. 表存储位置(DATA DIRECTORY)
61.2.8. KEY
61.2.8.1. PRIMARY KEY
61.2.9. AUTO_INCREMENT 定义初始值
61.2.10. COMMENT
61.2.11. Engine 存储引擎
61.2.11.1. 显示当前数据库支持引擎
61.2.11.2. 切换引擎
61.2.11.3. FEDERATED
61.2.11.4. BLACKHOLE
61.2.11.5. ARCHIVE
61.2.11.6. CSV
61.3. Partitioning
61.3.1. RANGE
61.3.2. LIST
61.3.3. HASH
61.3.3.1. LINEAR HASH
61.3.4. KEY分区
61.3.5. Subpartitioning
61.3.6. 分区管理
61.3.6.1. 新增分区
61.3.6.2. 删除分区
61.3.6.3. 重建分区
61.3.6.4. 分区维护
61.3.7. EXPLAIN PARTITIONS
61.3.8. SHOW CREATE TABLE
61.3.9. INFORMATION_SCHEMA.partitions 表
61.3.10. 分区数据操作
61.4. Index
61.4.1. SHOW INDEX
61.4.2. CREATE INDEX
61.4.3. DROP INDEX
61.4.4. rebuild
61.5. 外键(Foreign Key)
61.5.1. FOREIGN KEY (RESTRICT)
61.6. 视图(View)
61.7. 存储过程(PROCEDURE)
61.7.1. 存储程序
61.7.2. EXECUTE 执行 SQL
61.7.3. PREPARE 传递参数
61.7.4. 存储过程返回数据
61.7.5. 结果集转JSON
61.7.6. 例子·过程返回结果
61.8. 函数
61.8.1. TIMESTAMP TO ISO8601
61.9. 触发器(Trigger)
61.9.1. create trigger
61.9.1.1. Update 更新出发
61.9.1.2. Delete 删除出发
61.9.1.3. Insert 插入出发
61.9.2. drop trigger
61.9.3. show triggers
61.9.3.1. SHOW CREATE TRIGGER
61.9.4. EXAMPLE
61.9.4.1. BEFORE/AFTER
61.9.4.2. UUID
61.9.4.3. CALL PROCEDURE
61.10. 事件调度器(EVENT)
61.10.1. 启用 EVENT
61.10.2. 创建 EVENT
61.10.3. 禁用/启用
61.10.4. show events
61.10.5. 实例·每月创建一个表
62. DML (Data Manipulation Language)
62.1. INSERT
62.1.1. INSERT INTO ... SELECT
62.1.2. INSERT IGNORE
62.1.3. INSERT...ON DUPLICATE KEY UPDATE
62.2. REPLACE
62.3. DELETE
62.3.1. 删除重复数据
63. SQL Statement Syntax
63.1. DISTINCT
63.2. group by
63.3. HAVING
63.4. REGEXP
63.5. IN / NOT IN
63.6. ALL / Any
63.7. exists, not exists
63.8. UNION
63.8.1. UNION ALL
63.8.2. 两张表字段不对等解决方法
63.9. OUTFILE/LOAD DATA INFILE
63.9.1. Export data to CSV from MySQL
63.9.2. Import data from CSV file.
63.10. CASE Syntax
63.11. MySQL 专有命令
63.11.1. SQL_NO_CACHE
63.11.2. SIGNAL Syntax
63.12. SQL 92
64. Functions and Operators
64.1. COUNT
64.2. group_concat() 列传行
64.3. UUID()
64.4. String
64.4.1. LEFT/RIGHT
64.4.2. RPAD/LPAD
64.4.3. CONCAT
64.4.4. CONCAT_WS
64.4.5. 链接所有字段
64.4.6. GROUP_CONCAT
64.4.7. replace
64.4.8. SUBSTRING
64.4.9. SUBSTRING_INDEX
64.4.10. AES_ENCRYPT / AES_DECRYPT
64.5. Date and Time
64.5.1. year/month/day hour:minite:second
64.5.2. Unix time
64.5.3. DATE_FORMAT
64.5.4. DATE_SUB/DATE_ADD
64.5.4.1. DATE_ADD
64.5.5. datediff / timediff
64.6. 数值函数
64.6.1. cast 类型转换
64.6.2. truncate 保留小数位数
64.6.3. MOD 求余
64.7. Control Flow Functions
65. PostgreSQL GUI
65.1. pgAdmin III
65.2. phpPgAdmin
65.3. Monitoring
65.3.1. PgBadger
65.4. pgModeler - PostgreSQL Database Modeler
66. Barman Backup & recovery for PostgreSQL
67. pgbouncer - lightweight connection pooler for PostgreSQL
67.1. 安装 pgbouncer
67.1.1. Ubuntu
67.1.2. CentOS
67.2. 配置 pgbouncer
68. Foreign data wrappers
69. Barman for PostgreSQL
70. Connector
70.1. Pomm
71. Replication
71.1. Bucardo
72. FAQ
72.1. Reset root password 重置MySQL root密码
72.1.1. MySQL 5.7.x
72.1.2. MySQL 8.0
72.2. 数据库内容替换
72.3. 查看错误代码
72.3.1. ERROR 1153 (08S01) at line 3168: Got a packet bigger than 'max_allowed_packet' bytes
72.3.2. ERROR 1129 (00000): Host 'XXXXXX' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
72.4. 临时表是否需要建索引
72.5. Kill 脚本
72.6. ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function
72.7. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
72.8. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
72.9. 重新整理AUTO_INCREMENT字段
72.10. 转换 latin1 到 UTF-8
72.11. this is incompatible with sql_mode=only_full_group_by
72.12. [Warning] Changed limits: max_open_files: 5000 (requested 20480)
72.13. Error Code: 1146. Table 'test.CACHE_UPDATE' doesn't exist
72.14. ERROR 1364: 1364: Field 'id' doesn't have a default value
72.15. ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
72.16. ERROR 1086 (HY000): File '/var/lib/mysql-files/order.txt' already exists
72.17. ERROR 1415: Not allowed to return a result set from a trigger
72.18. ERROR 3024 (HY000): Query execution was interrupted, maximum statement execution time exceeded
72.19. Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such fileor directory
72.20. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
VII. Oracle
73. Oracle 12c 安装可
73.1. Server 安装
73.2. Desktop 安装
73.3. Oracle Net Services Configuration
73.3.1. Listener configuration
73.3.2. Local Net Service Name configuration
73.4. Oracle 12c Client for Windows 10
73.5. 卸载 Oracle
73.6. Linux 安装 sqlplus
74. Privilege
74.1. Account
74.1.1. show user
74.1.2. DEFAULT_TABLESPACE
74.1.3. unlock/lock
74.2. User
74.2.1. Create user
74.2.2. Drop user
74.2.3. Alter user
74.2.4. 修改密码
74.2.5. Reset Password 忘记密码重置密码
74.3. grant
74.3.1. 列出权限
74.3.2. 查看用户权限
74.3.3. 吊销权限
74.3.4. System Privileges 系统权限
74.3.4.1. EM 权限
74.3.4.2. Granting and Revoking SYSDBA and SYSOPER Privileges
74.3.5. Object Privileges 对象权限
74.4. Opening the Encrypted Wallet
75. 数据库管理
75.1. lsnrctl
75.2. listener.ora
75.3. TNS 配置
75.3.1. HOST
75.3.2. SID
75.4. parameter
75.4.1. db
75.4.2. instance_name
75.4.3. service_name
75.4.4. global_name
75.4.5. db_name
75.4.6. db_domain
75.4.7. sga
75.4.8. size
75.4.9. spfile
75.4.10. cache
75.4.11. Character Set
75.5. 进程
75.6. 查看用户
75.7. 显示表
75.8. 显示试图
75.9. PROCEDURE
75.10. FUNCTION
75.11. 视图、存储过程、函数
75.12. 查看存储过程源代码
75.13. 日期时间格式
75.13.1. Date
75.13.2. 修改系统日期格式
75.13.3. TIMESTAMP
75.13.4.
75.14. 切换字符集
75.14.1. 切换到 GBK
75.14.2. 切到 UTF-8
75.14.3. 切到 AL32UTF8
75.14.4. 切换过程实例
75.15. Oracle 表空间
75.15.1. 查询空闲表空间
75.15.2. 创建表空间
75.15.2.1. 临时表空间
75.15.3. 更改表空间属性
75.15.3.1. 修改表空间大小
75.15.4. 删除表空间
76. Oracle Gui
76.1. Create instance
76.2. Oracle Net Configuration Assistant
76.3. Oracle Enterprise Manager
76.3.1. EM Configuration issue. /opt/oracle/product/11.2.0/dbhome_1/orcl.example.com_orcl not found.
76.4. Other GUI - phpOraAdmin
77. CLI
77.1. SQL*Plus
77.1.1. conn
77.1.2. startup/shutdown
77.1.2.1. startup
77.1.2.2. shutdown
77.1.3. $ORACLE_HOME/sqlplus/admin/glogin.sql
77.1.4. @运行SQL
77.1.5. 链接数据库
77.2. exp/imp
77.2.1. exp
77.2.2. imp
77.2.2.1. A用户导出B用户导入
77.3. expdp/impdp
77.3.1. expdp
77.3.2. impdp
77.3.3. 数据泵演示
77.3.4. 查看dmp文件的表空间
77.4. RMAN
77.4.1. 数据库模式
77.4.2. 完全备份
77.4.3. 增量备份
77.4.4. 恢复数据库
77.4.5. 是用tar打包rman文件
77.4.6. 打包 rman 备份文件
78. DDL
78.1. 字段类型
78.1.1. Date
78.1.2. TIMESTAMP
78.2. 索引
78.3. 表
78.3.1.
78.3.2. 约束检查
78.4. SEQUENCE 序列
78.4.1.
79. 程序包
79.1. 执行包中的过程
80. 数据库链接
81. Oracle 监控
81.1. Oracle日志的路径
81.2. SQL 日志监控
81.2.1. 查询性能分析
81.2.2. IO性能分析
81.3. session
81.4. SQL Monitoring Report
82. Installing Oracle Database
82.1. Installing Oracle Database 10g Release 2 on Linux x86
82.2. 11gR2
82.3. Installing Oracle Client 11g
82.4. Silence Install - Database
82.4.1. Response File
82.4.2. OS 配置脚本
82.4.3. 运行 runInstaller
82.5. Silence Install - Client
82.6. oracle 817 script
82.7. Script for automatic startup on boot
82.8. Run level shell script to start Oracle 10g services on RedHat Enterprise Linux (RHAS 4)
83. FAQ
83.1. Reset root password 重置MySQL root密码
83.1.1. MySQL 5.7.x
83.1.2. MySQL 8.0
83.2. 数据库内容替换
83.3. 查看错误代码
83.3.1. ERROR 1153 (08S01) at line 3168: Got a packet bigger than 'max_allowed_packet' bytes
83.3.2. ERROR 1129 (00000): Host 'XXXXXX' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
83.4. 临时表是否需要建索引
83.5. Kill 脚本
83.6. ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function
83.7. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
83.8. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
83.9. 重新整理AUTO_INCREMENT字段
83.10. 转换 latin1 到 UTF-8
83.11. this is incompatible with sql_mode=only_full_group_by
83.12. [Warning] Changed limits: max_open_files: 5000 (requested 20480)
83.13. Error Code: 1146. Table 'test.CACHE_UPDATE' doesn't exist
83.14. ERROR 1364: 1364: Field 'id' doesn't have a default value
83.15. ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
83.16. ERROR 1086 (HY000): File '/var/lib/mysql-files/order.txt' already exists
83.17. ERROR 1415: Not allowed to return a result set from a trigger
83.18. ERROR 3024 (HY000): Query execution was interrupted, maximum statement execution time exceeded
83.19. Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such fileor directory
83.20. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
84. 数据库迁移
84.1. MySQL to PostgreSQL

表格清单

26.1. 更新丢失演示
26.2. 防止更新丢失加锁演示

范例清单

8.1. Elasticsearch master / slave
9.1. Solr - schema.xml
9.2. /etc/profile.d/java.sh
19.1. MySQL 8 创建root账号
19.2. my.cnf
19.3. my.cnf
19.4. my.cnf
22.1. BEFORE/AFTER
22.2. uuid()
24.1. SQL ANY example
27.1. SQL_CACHE 测试
27.2. SHOW PROFILE Syntax
42.1. MongoDB Test
42.2. Using MongoDB in PHP
47.1. Twitter
47.2. Twissandra
50.1. /etc/init.d/memcached
58.1. Example for /var/lib/pgsql/10/data/pg_hba.conf
61.1. BEFORE/AFTER
61.2. uuid()
63.1. SQL ANY example
67.1. /etc/pgbouncer/pgbouncer.ini
75.1. Oracle 字符集切换实例
75.2. 创建表空间实例
77.1. expdp
77.2. impdp
77.3. full backup
78.1.
80.1. DB LINK
网站:http://www.netkiller.cn/ | 知乎:netkiller | 51CTO:视频教程 | Bilibili:netkiller | Github:netkiller