zoukankan      html  css  js  c++  java
  • 读《msyql完全手册》之三:管理与开发

    第三部分    管理
    第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结合的开源项目会让自己内力大增的,哈哈,期待有空的时候~

  • 相关阅读:
    IO 输入输出流
    「做自己」​​​​​​​写出我心(八十)
    「关于爱情,关于婚姻」​​​​​​​写出我心(七十九)
    「如何冥想?」​​​​​​​写出我心(七十八)
    「对这个世界温柔一点」​​​​​​写出我心(七十七)
    「7tips-克服焦虑」​​​​​写出我心(七十六)
    「十步学习法」​​​​写出我心(七十五)
    「成功的人生是台阶式向上」​​​写出我心(七十四)
    「世界是自己的」​​写出我心(七十三)
    「​八点工作中的小建议」​写出我心(七十二)
  • 原文地址:https://www.cnblogs.com/liuchen/p/742260.html
Copyright © 2011-2022 走看看