一、MySQL的架构
1、MySQL简介
MySQL高级,
id | content |
---|---|
1 | MySQL内核编码优化和改写。 |
2 | SQL优化,分析慢SQL、buffer大小等,然后解决。 |
3 | MySQL服务器优化,连接数、乱码等配置。 |
4 | 各种参量常量设定 |
5 | 查询语句优化 |
6 | 主从复制 |
7 | 软硬件升级 |
8 | 容灾备份 |
9 | SQL编程 |
2、MySQL Linux版安装
1)Ubuntu.com官网下载iso即系统光盘文件,创建好Linux虚拟机。
2)MySQL.com官网下载去archives里下载server.deb和client.deb文件。(或者wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb)
3)挂载一个共享文件到Linux上,把上面的文件copy过去;或者点击设备选项下的增强功能,然后设置双向共享剪切板。
4)安装
dpkg -i server.deb
dpkg -i client.deb
5)查看服务
ps -ef|grep mysql
6)查看安装MySQL时创建的用户和用户组(类似于root和其它所有用户)
cat /etc/passwd|grep mysql
cat /etc/group|grep mysql
7)查看安装MySQL是否成功
mysqladmn --version
8)启动与停止MySQL服务
service mysql start[stop]
9)MySQL的root密码设置和随Linux自启动
/usr/bin/mysqladmin -u root password 123
chkconfig mysql on(或者ntsysv来设置)
10)连接数据库
mysql -u root -p123
11)MySQL安装位置
MySQL数据库的database在那里?
cd /var/lib/mysql
12)修改默认配置文件,修改字符集
cd /usr/share/mysql(里面的my-default.cnf)
拷贝出来,原来的文件不动它。
cp my-default.cnf /etc/my.cnf
查看字符集,show variables like‘character%’;
修改字符集,
cd /etc,去修改cnf
3、MySQL配置文件
1)二进制日志log-bin,用于主从复制。
2)错误日志log-error,默认关闭,用于记录严重的警告和错误信息。
3)查询日志log,记录查询SQL。主要记录慢SQL,然后分析。
4)数据文件,存在/var/lib/mysql下。frm文件,存的是表结构;myd文件,存的是表数据;myi文件,存的是查找数据的索引。
5)如何配置?修改my.cnf
4、MySQL逻辑架构介绍
特点)逻辑分层、可拔插组件式引擎
分层设计模式)Connection Pool -> 验证、解析、优化SQL层 -> 存储引擎 -> 存储管理File system
1)Management Service层,
Parser为第一次验证,用于解析SQL,以MySQL的处理顺序来解析。如select语句中,先解析from。
optimizer为第二次验证,MySQL会自己优化一次,再运行SQL,所以存在索引失效的情况。
Caches&Buffers用于配置buffer缓冲大小等。
2)Pluggable Storage Engines,
默认为InnoDB,支持行锁和事务。
5、MySQL存储引擎
1)查看有哪些存储引擎
show engines;
2)查看当前存储引擎
show variables like ‘%storage_engine%’;