MySQL高级
设置mysql开启启动
sudo update-rc.d -f mysql defaults
启动mysql
service mysql start
关闭mysql
service mysql stop
安装
sudo apt-get install mysql-server mysql-client
查看安装端口情况
sudo netstat -tap | grep mysql
配置文件位置
sudo vim /etc/mysql/my.cnf
打开关闭服务
/etc/init.d/mysql start/stop
卸载
sudo apt-get autoremove --purge mysql-server-5.5.43
sudo apt-get remove mysql-server
sudo apt-get autoremovemysql-server
sudo apt-get remove mysql-common
dpkg -l | grep ^rc| awk '{print $2}' | sudoxargsdpkg -P
主要配置文件mysql:
-
log-bin:二进制日志文件
log_bin = /var/log/mysql/mysql-bin.log
-
log-error:错误日志文件
log_error = /var/log/mysql/error.log
-
log:查询日志,默认记录查询的sql语句
一般用于记录慢查询日志,当超过多久时间被标记为慢查询
方便以后查询的优化
-
数据文件
- frm 后缀名 文件:存放表结构
- myd 后缀名 文件:my data 存放表数据
- myi 后缀名 文件:my index 存放的 索引
总体概览
图示:
第一层 连接层
- Connection Pool 连接池
第二层 服务层
- 容灾备份
- SQL Interface 视图 触发器
- Parser 解析器
- Optlmlzer 优化器
- Caches Buffers 缓存
第三层 引擎层
-
Pluggable Storage Engines 可拔插式存储引擎
innodb myisam memory merge 等
第四层 存储层
- File System 文件存储
插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离
查看存储引擎:
show engines; --- 查询所有存储引擎 以及 特点
show variables like '%storage_engine%'; --- 查询默认 和 当前的存储引擎
查询结果:
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
InnoDB
InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys
表示支持事务,行锁(适合高并发,不对其他行有影响),外键
不仅缓存索引还缓存真实数据,对内存要求高 而且内存大小对性能有决定性的影响
表空间大
偏向事务,适合安全操作
MyISAM
不支持外键、不支持事务、表锁(即使操作一条记录 也会锁住整张表 --》 不适合高并发)
只缓存索引。不缓存真实数据
表空间小
偏向性能,适合查询操作
对比: