Installing and Accessing Mysql Server
[toc]
MariaDB or MySQL
| DBMS: 数据库管理系统,只是一个程序,而非数据 |
| RDBMS: 关系型数据库管理系统 |
| C/S: 专有协议 |
| 关系模型: 表(行,列) 组成的二维关系 |
| 范式:第一范式、第二范式、第三范式 |
| 关系运算: |
| 选择 |
| 投影 |
| 数据库: 表,索引,视图(虚表) |
| SQL: Structure Query Language (结构化查询语言) |
| DDL(数据定义语言),DML(数据操纵语言,操作表中的数据) |
| 编程接口: |
| 存储过程 |
| 存储函数 |
| 触发器 |
| 事件调试器 (Event scheduling) |
| 过程式编辑: 选择、循环 |
| 三层模型: |
| 物理层(一张表,或者多张表,表现为一个文件) |
| 逻辑层(表,索引,视图,等等) |
| 视图层(最终用户所看到的样子,授权用户所看到的) |
| 做为DBA需要: 设计/创建表 设计/创建索引 设计/创建视图 |
| 数据库的导入导出等 |
| |
| 解决方案: |
| 付费: Oracle ,Sybase ,Infomix(IBM) ,DB2(IBM) |
| 开源: MySQL ,MariaDB ,PostgreSQL , SQLite(是一种嵌入式的解决方案) |
| 目前MySQL已经被Oracle收购 |
| 有三成把握的时候,就要争取。不然机会就错过了,但要做好充份准备。 |
| 没有谁好谁坏,只要向往自己的理想就好了。 |
| |
| MySQL --> 5.1 --> 5.5 --> 5.6 --> 5.7 |
| MariaDB |
| 插件式存储引擎(支持众多类型的存储引擎) |
| MySQL是否支持事物,则需要查看存储引擎是否支持事物 |
| 单进程多线程 |
| 连接线程 |
| 守护线程 |
| MariaDB [mysql]> SHOW ENGINES ; |
| + |
| | Engine | Support | Comment | Transactions | XA | Savepoints | |
| + |
| | CSV | YES | CSV storage engine | NO | NO | NO | |
| | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | |
| | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | |
| | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | |
| | MyISAM | YES | MyISAM storage engine | NO | NO | NO | |
| | InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES | |
| | ARCHIVE | YES | Archive storage engine | NO | NO | NO | |
| | FEDERATED | YES | FederatedX pluggable storage engine | YES | NO | YES | |
| | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | |
| | Aria | YES | Crash-safe tables with MyISAM heritage | NO | NO | NO | |
| + |
| 10 rows in set (0.00 sec) |
| MySQL配置文件:集中式的配置,能够为mysql的各应用程序提供配置信息 |
| [mysqld] 专用于mysqld应用程序 |
| [mysqld_safe] 线程安全的mysqld专有配置 |
| [mysqld_multi] 多实例共离的mysql |
| [server] 只要有是mysql服务端的都有效的 |
| [mysql] mysql客户端的 |
| [mysqldump] 数据导入导出的 |
| [client] 对于客户端工具的 |
| parameter = value 支持_ - 两种 |
| skip-name-reslove |
| skip_name_reslove 两种方式都是可以的 |
| mysql启动时查找路径 |
| /etc/my.cnf |
| |
| 后找到的,行会覆盖先找到的,于是,越住后的是,越是先生效 |
| |
| 安装方法 |
| os vendor: rpm ubuntu最成功的领域在桌面 |
| 服务器建议使用CentOS, SUSE,OpenSUSE,Debian等等 |
| Debian 要求技术能力偏高 |
| |
| MySQL: |
| rpm |
| 展开可用,一般安装就用的这种方式 |
| 源码,源码安装时需要对代码打布丁,对MySQL订制 |
| 安装后的设计: |
| (1)为所有root用户设定密码 |
| mysql> SET PASSWORD |
| mysql> update mysql.user SET password= PASSWORD('your_pass') WHERE cluase; |
| mysql> FLUSH PRIVILEGES ; |
| # mysqladmin 用这个命令来修改 |
| (2) 删除所有匿名用户 |
| mysql> DROP USER ''@ 'localhost'; |
| 上术两步骤可运行命令: mysql_secure_installation |
| (3) 建议关闭主机名反解功能 |
| 元数据数据库: mysql |
| user,host 等 |
| mysql 客户端工具 mysql |