1. 基础
    1. 安装MYSQL
      1. 按文档基本步骤执行
      2. 复制bin
      3. 复制man
      4. 启动mysqld后执行mysqld_secure_install
      5. .my.cnf
    2. 导出mysql.user数据
      1. select into outfile
      2. information_schema.columns
    3. 简单的管理帐号
      1. 创建一个空数据库
        1. create database
      2. 分配一个账号给这个数据库
        1. create user
        2. grant
  2. 进阶
    1. 创造一个实际的数据库
      1. 设置存储引擎
        1. default-storage-engine=INNODB
      2. 设置数据位置
        1. innodb_data_home_dir
        2. innodb_log_group_home_dir
      3. 设定服务器和客户端的字符集
        1. 客户端的字符集一定要设定,不然导入中文是乱码
        2. 一旦客户端的字符集和导入时不同,显示居然是乱码。。。
        3. 原因
          1. 导入数据时从客户端发出的字符集用client
          2. 服务器收到后,转成connection
          3. 服务器给客户端的结果,会转成result
      4. mysql db < file
        1. file太大,按表格分割了
        2. tablespaces
          1. 多个表空间,只有最后一个表空间会增大
          2. 别用max
    2. 书写各种查询应用
      1. 安装perl对应的module
        1. DBI,很好安装
        2. DBD
          1. mysql/include复制
          2. perl Makefile.PL的配置
          3. mysql/lib复制,运行时需要
      2. 连接mysqld
        1. DBI->connect
        2. DBI->disconnect
        3. perldoc DBI
    3. 设置log系统
      1. 输出位置
        1. log_output=TABLE,FILE
        2. 只影响general_log和slow_log
        3. 也就是其他的log输出仍然是文件,不受此设置影响
      2. general_log=1
        1. 连接和sql操作都被记录下来
        2. 输出目录在data_dir,而不是innodb_data_dir
      3. log_slow_queries=slow.log
        1. 耗时查询会被记录在这里
        2. long_query_time=2
          1. 默认10秒太长了
      4. 错误和警告log默认都是打开的
      5. log_bin
        1. binlog_format=MIXED
        2. 修改操作的记录
        3. 数据库恢复用的
  3. 中级
    1. 备份和恢复
    2. 增强可靠性
    3. 优化
  4. 高级
    1. 存储过程和视图
    2. table分割