惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
B
Blog RSS Feed
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
D
Docker
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
C
Check Point Blog
The Cloudflare Blog
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
量子位
The GitHub Blog
The GitHub Blog
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
T
The Blog of Author Tim Ferriss
博客园 - 【当耐特】
Vercel News
Vercel News
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
博客园 - 司徒正美

博客园 - liuchen

我回来了 《全景探秘游戏设计艺术》读后感之引子 长连接和短连接 这不科学 —— 读《死亡之旅》 windows 64位 luajava编译 Effective C++ 读书笔记(45-50):杂项讨论 Effective C++ 读书笔记(35-44):继承关系与面向对象设计 Effective C++ 读书笔记(29-34):类与函数之实现 Effective C++ 读书笔记(18-28):类与函数之设计和声明 Effective C++ 读书笔记(11-17):构造析构和赋值函数 - liuchen Effective C++ 读书笔记(5-10):内存管理 Effective C++ 读书笔记(0-4) - liuchen 读《msyql完全手册》之二:数据库使用 读《msyql完全手册》之一:介绍和安装 js中的定时器 php中readdir关于时间路径排序的代码 linux 配置服务器 Windows下配置SVN (Subversion) 转载 该适当的总结了
读《msyql完全手册》之三:管理与开发
liuchen · 2007-05-10 · via 博客园 - liuchen

第三部分    管理
第13章    管理与配置
第14章 安全、访问控制和权限
第15章 维护、备份和恢复
第16章 性能优化
第17章    MySQL复制
第四部分 开发
第18章 MySQL API
第19章 MySQL与C
第20章 MySQL与Perl
第21章 MySQL与PHP

根据这本书的目录,继续写点我的总结

第三部分是给系统管理员或者数据库管理员看的,一个系统运行的稳定与否,其负责人起到很大的作用,反正7×24小时不是每个人都能承受下来的,所以有必要了解一点,在自己开发的时候也可以提高不少性能呢,所以第三章,推荐一读

第13章 管理和配置
      这章还是有点意思的,了解一些东西就好了,mysql自带了一些管理的工具,具体用到可以google
      1,mysqladmin,在/usr/local/mysql/bin下面,使用mysqladmin --help可以查看具体参数,不过推荐用别的客户端来管理似乎更加方便一些,比如phpMyAdmin
      2,启动关闭,unix系统中有个脚本 一般在mysql的安装目录中 /usr/local/mysql/support-files/mysql.server.sh,还可以使用/usr/local/mysq./bin下面的mysql_safe,windows98系列下面直接有mysqld.exe,运行之,2000以上系列可以通过两步启动, mysqld--install , net start mysql,但是我一般都还是直接通过services.msc这个管理面板来启动和关闭
      3,检查服务器状态
           /usr/local/mysql/bin/mysqladmin status或者version
           或者进入mysql后,mysql> select version() 或 show status;
      4,管理客户机
          mysql>show processlist;可以看到其他登录到msyql的用户,并且可以方便的使用kill踢掉
      5,修改服务器配置
          第一种方法修改my.cnf或者my.ini文件,unix一般在/etc/my.cnf或者 ~/.my.cnf,而windows一般在c:\my.cnf,自己查找里面很简单
          第二种是直接使用set命令,比如set table_type=innodb;字符集出现乱码的时候一般都是通过set names utf8等来解决就是这个道理
      6,检索变量值
          进入mysql后,通过show variables like 'charset_*'可以查看所有的字符集,具体内容可以百度搜索“mysql 乱码”,应该有不少信息
      7,错误日志
          unix中称为hostname.err,windows中是mysql.err

第14章 安全、访问控制和权限
       1,五层访问控制系统:用户通过user表,主机通过host表,数据库通过db表,数据表通过tables_priv表,字段通过columns_priv表来进行访问控制,具体不多说了,phpMyAdmin下面一幕了然,或者用describe 控制表表名就可以猜个八九不离十
      2,授权,废除和浏览
            授权废除可以通过grant和revoke进行操作,也可以直接在mysql库的上面五个表格中直接改。
            浏览通过 show grants for user@host
      3,使用grant和revoke命令的授权立即被激活了,但是通过常规sql查询设置的需要服务器重载(flush privileges)才能生效
      4,明白上面道理,就可以很容易理解如何在忘记root口令的情况下重设了
          1)停掉mysql服务
          2) /usr/local/mysql/bin/safe_mysql --skip-grant-tables --skip-networking 就可以绕过授权表
          3) mysql >use mysql;
              mysql > updata user set password = password('new-password') where user ='root'
          4)重启msyql

第15章   维护、备份和恢复
     维护主要是通过不同的日志文件来进行的,日志文件有:错误日志,查询日志,慢查询日志,更新日志,二进制更新日志。我关心的是两个,一个是错误日志,一个是慢查询日志
     如果需要激活错误日志,需要在启动的时候添加--log-error
     /usr/local/mysql/bin/msyql_safe --log-error
     如果需要激活慢查询日志,需要在启动的时候添加--log-slow-queries
     /usr/local/mysql/bin/msyql_safe --log-slow-queries
     慢查询日志用来查找那些查询占用的时间比较长,从而提出相应的解决方案

    备份数据库   mysqldump -u root -p 数据库名>数据文件 -d 仅备份格式, -t 仅仅备份数据
    恢复数据库   mysql -u root -p 数据库名<数据文件 或者mysql> source 数据文件 或者使用 load data infile,具体的google之,已经没有必要了解这么多了

第16章 性能优化
     1,使用索引
     2,子查询->连接查询或者使用变量
     3,调整服务器高速缓存和内存缓冲:调整变量 key_buff_size, table_cache
     4,使用MySQL基准技术套件调整服务器性能的基准,评估变化结果,基准套件叫做MySQL Benchmark Suite,但是用起来好难啊,谁想专门做数据库管理员的可以研究一下啦

第17章 数据库复制
 我基本都是使用phpMyAdmin直接导出导入,或者直接复制,所以这章被我直接跳过了。哈哈

第四部分开发
     这本书把开发放在这里仅仅是抛砖引玉,列了三种语言,c,perl,php,其实各种主流的语言都提供了对mysql的支持,我对php比较熟悉,php的官方手册上面有很详细的介绍,可以看这里
     mysql使用c写成的,c语言通过libmysqlclient库与mysql发布捆绑在一起。mysql开放了一些API,可以供语言的开发者们调用,以便使得新语言能够支持mysql,不过这本书也没有详细列出,我们仅仅只要知道一个大概就好。
    

     总结完毕,整体架构已经建立起来了,虽然以后用到具体知识还是要用google,但是读过就是和没有读过不一样,google的时候就可以找到更加确切的关键词了。
     有空研究一下phpMyAdmin,相信这个php和mysql结合的开源项目会让自己内力大增的,哈哈,期待有空的时候~