MYSQL数据库基础:
数据库帮我们解决以下数据存取难题:
- 较大数据量
- 事务控制
- 持久化和数据安全
- 高性能要求
- 高并发访问
关系型:mysql,oracle,sql server,postgresql
非关系型:Hadoop(大数据),monogoDB(文档型 ),redis(键值),casscandra(架构先进的分布式数据库)
区别:是否使用SQL语句
MYSQL 基于GPL协议开放源代码
学习目标-DBA
- 和开发者一样学习Mysql的使用技巧
- 学习mysql体系结构知识
- 学习日常运维,性能调优,故障排查等知识
- 学习数据层架构设计,schema优化知识
- .........................
通向“Mysql”老司机之路:
- 正确使用数据库
- 运维调优数据库
- 数据库内在原理
DBA必备技能:
- SQL语言--过关过硬
- 安装部署
- 性能调优和应用优化
- 故障处理和原理掌握
- 容量规划和架构设计
命令行连接Mysql的两种方式:
- Socket连接(本地连接)
- TCP/IP连接(远程连接)
远程连接:
aiapple@ubuntu:~$ mysql -h127.0.0.1 -P3306 -uroot -p Enter password: Welcome to the MySQL monitor. #-h 指定IP地址 -P指定端口号(mysql默认端口号3306)
mysql日常命令:
show status:主要关注字符编码,在线时间等
show processlist:看到当前连到数据库里面的连接状态
help:如help select,可以理解为Linux中man 或者 help;
常用mysql图形GUI工具:
Navicat
MySQLWrokBench
SQL语言入门:
SQL 语句的分类
|
大致用途
|
DDL(Data Definition Language) | 创建表,删除表,修改表..... |
DML(Data Maniputation Language) | 向表中插入记录,修改记录或者删除记录 |
select | 根据条件从表中查询出想要得到的记录 |
DCL(Data Control Language) | 控制数据库的访问权限等设置--包括新增用户,设置用户的权限 |
TCL(Transaction Control Language) | 控制事务进展--提交事务,回滚事务 |
DDL: 数据定义 |
CREATE TABLE |
DROP TABLE |
ALTER TABLE |
DML: 数据操作 |
SELECT FROM TABLE |
INSERT INTO TABLE |
UPDATE TABLE SET |
DELETE FROM TABLE |
DCL: 权限管理 |
GRANT |
REVOKE |
TCL: 事务控制 |
COMMIT |
ROLLBACK |
DBA需要技能:
-- 数据库原理
-- Linux与Shell
-- 计算机体系结构
-- 网络原理
-- 数据库系统与操作
-- 服务器硬件
-- 业务架构设计
DBA ----->业务架构师
----->运维专家
----->数据库研发