《MySQL必知必会》笔记 part 4

第27章 全球化和本地化

第28章 安全管理

28.1 访问控制
  • 多数用户只需要对表进行读和写,少数用户需要创建和删除表
  • 某些用户可能只需要读表,而不需要更新表(只读不写)
  • 通过存储过程让用户访问数据,而不是让其直接访问数据
  • 防止无意的错误
  • 不要使用root
28.2 管理用户
  • 创建用户帐号 INSERT或GRANT
    • CREATE USER username IDENTIFIED BY passwordstring;
  • 重命名用户帐号
    • RENAME USER username TO new_username;
  • 删除用户帐号
    • DROP USER username;
  • 设置访问权限
    • 需要给出的信息
      • 要授予的权限
      • 被授予访问权限的数据库或表
      • 用户名
  • 添加权限
    • GRANT SELECT ON database_name.* TO username;
  • 查看权限设置
    • SHOW GRANT FOR username;
  • 撤销权限 REVOKE
  • REVOKE SELECT ON database_name.* TO username;
  • 更改口令
    • SET PASSWORD FOR username = Password(new_password_str);
    • SET PASSWORD = Password(new_password_str); 设置自己的口令

第29章 数据库维护

29.1 备份数据
  • 使用命令行实用程序mysqldump转储所有的数据库内容到某个外部文件。
  • 可用mysqlhotcopy从一个数据库复制所有数据(并不是所有的数据库引擎都支持这个实用程序)
  • 可用MySQL的BACKUP TABLE或SELECT INTO OUTFILE转储所有数据到某个外部文件。 使用RESTORE TABLE来复原。
    • 首先刷新未写数据
      • 为了保证所有数据被写到磁盘(包括索引数据),可能需要在备份前使用FLUSH TABLES语句。
29.2 进行数据库维护
  • ANALYZE TABLE 用来检查表键是否正确。
  • CHECK TABLE 用来针对许多问题对表进行检查
  • OPTIMIZE TABLE 用来收回表所用的空间(当从一个表中删除大量数据时),从而优化表的性能。
29.3 诊断启动问题
  • mysqld
    • –help
    • –safe-mode
    • –verbose
    • –version
29.4 查看日志文件
  • 错误日志。 包含启动和关闭问题以及任意关键错误的细节。
    • 通常名为hostname.err,位于data目录中。
  • 查询日志。 记录所有MySQL活动。
    • 通常名为hostname.log,位于data目录中。
  • 二进制日志。记录(可能)更新过数据的所有语句。
    • 通常名为hostname-bin,位于data目录中。

第30章 改善性能

  • 总是有不止一种方法编写同一条SELECT语句。应该试验联结、并、子查询等,找出最佳的方法。
  • 当SELECT语句中有一系列复杂的OR条件时,通过使用多条SELECT语句和UNOIN,能有极大的性能改进。
  • 最重要的规则是,每条规则在某些条件下都会被打破。

你可能感兴趣的:(《MySQL必知必会》笔记 part 4)