MySQL技术培训 - 第二天

Sharing of MySQL – Chukong MySQL 数据库培训 – 第二天

  1. Review:

MySQL 启动: mysql_safe –default-file=”” –base_dir=”” –data_dir=”” –user $USER

自启动脚本位置: /etc/rc.local

字符集的选用: UTF8 (分为 Server 端字符集, 客户端字符集, 连接字符集-创建连接时指定的字符集)

开启 bin-log 有机会恢复到某个时刻 – 思考与 Redis 的 aof 方法的区别

  1. 什么是 MySQL?

MySQL: 是一种数据库服务

mysql: 是连接数据库的客户端, mysql –user XX –host XX –port XX 连接, 使用 quit 退出

  1. 数据库的基本操作

创建数据库或数据表, 首先要注意字符集的问题.

Insert 多行写入: insert into XX value (), (), ()…

使用 loadfile 加载 sql 文件导入数据.

创建表尽量添加 id 主键为 auto_increment, 尽管可能为无关变量

  1. 查询优化: 尽量写简单 SQL 语句

排序空间 5M 左右, orderby 造成磁盘读写.

like, =, !=, in 尽量不要使用

运算操作: count(*), sum, average 均是全表扫描, min, max 是走索引

使用查询库 MyISAM, 可以节省 12%的 DB 空间, 索引节省 95%, 但是不支持事物, 如需要事物只能使用 InnoDB.

  1. MySQL 工具使用:

数据库启动: mysqld, mysqld_safe(守护进程监控 mysqld 进程), mysqld_multi(启动多个数据库)

分析工具:

mysql连接数据库.
mysqladmin.
mysqldump.
mysqlhotcopy(MyISAM only).
mysqlbinlog.

数据导入导出:

shell> mysql < sourceFile.php
mysql> source sourceFile
  1. 命令 Tips:

processlist
flush-logs

  1. 账号管理:

最初安装要删除空用户, 更新 root 密码

set password for ‘root’@localhost = PASSWORD(‘XXX’);

创建相应权限用户, Grant 数据表权限, flush privileges

  1. 日志管理:

error log: –log-error=file 默认是 datadir 目录下的 hostname.err

common log:–log=file 正式线上不开启

bin log:–log-bin=1/0

slow log:–log-show-queries=file 一般是 select 操作

数据库机器需求: 内存>磁盘>CPU

耗费 CPU 的数据: 磁盘载入数据到内存中进行联合查询

Donate - Support to make this site better.
捐助 - 支持我让我做得更好.