2013年4月30日星期二

貿易的“工具”

Original Post: http://anothermysqldba.blogspot.com/2013/04/tools-of-trade.html

我想通它可能是值得的頂級貿易工具,大家都用創建列表。 
首先,這是說感謝大家誰幫助創建這些工具。 
其次,它是為了讓別人誰不使用這些看到和了解這些可以用,為什麼。 

  • MySQL命令行客戶端 。
    • 這是一個給定的,但我知道這是最好的進入到MySQL。
    • MYSQL-P - 提示=“\ U @ \ H [\ d〕> \ _大師>”
  • Xtrabackup
    • 。/ xtrabackup - 默認的文件為/ etc / my.cnf文件 - 備份 - 統計 - 目標-DIR =〜/備份/ - 準備 - 出口 - 用戶=根 - innodb_data_home_dir =的/ var / lib目錄/ / MYSQL - innodb_data_file_path中的/ var / lib中/ MySQL的/
  • mysqlbinlog的
  • mysqltuner
    • 一個很好的總體看法到什麼,你可能會與您的數據庫。
  • Percona的工具包
    • exampes:
      • PT查詢摘要
        • 例如:PT查詢摘要 - 問通的/ var / lib中/ mysql /下的mysql-slow.log
      • PT-表校驗
        • 例如:PT-表校驗 - 問通
      • PT-表同步
        • 例如:PT-表同步 - 檢查觸發器 - 問通 - 檢查觸發器 - 執行 - 打印
      • PT-顯示贈款
        • PT秀補助 - 問通
  • MySQL的實用工具
    • exampes:
      • 蟒蛇mysqldiskusage - 服務器=根:密碼@本地
      • 蟒蛇mysqlindexcheck - 服務器=根:密碼@本地ps_helper.schema_index_statistics
      • 蟒蛇mysqlprocgrep - 服務器=根:密碼@本地 - 匹配用戶=根
  • planet.mysql.com
    • 這可能使一些人的問題,但... 知識就是力量。 這是最好的位置,了解MySQL的。
    • 如果您有採訪到的MySQL DBA候選人,挑選一些常見的活躍作者,並詢問他們是否知道那個人是誰。 它可以讓你明白,如果他們研究的最新趨勢和圍繞MySQL的信息,或者是僅僅滿足於他們的經驗。
  • MySQL的沙盒
    • MYTOP
      • 靈感來自於頂部,但重點在MySQL
    • https://tools.percona.com/
      • 這也可能使一些問題。 我上手優於默認安裝的版本,創建一個my.cnf中的人,因為它是一個快速和良好的方式。 如果不出意外,你可以用它只是來比較,你覺得它應該是什麼。
    您可能會注意到,我不是一個球迷的GUI。 沒有違法那些GUI工具,但如果你不需要它為什麼GUI。 但是,這只是我的意見,這裡是一個GUI工具清單只是要公平。 畢竟架構圖是有益的,容易與MySQL工作台 。

    其他工具進行審查:



    NoSQL :: PHP :: MEMCACHE :: INNODB :: MySQL

    Original Post: http://anothermysqldba.blogspot.com/2013/04/nosql-php-memcache-innodb-mysql.html

    现在的MySQL 5.6已经出了一小会儿, Percona的5.6 ,在写这篇的时候,阿尔法,我们都将开始看起来更涉及到MySQL的NoSQL解决方案。 (我会继续关注和MariaDB的在这方面做的)。但无论如何... 因为开发人员和管理人员继续好奇的NoSQL可以提供什么.... 

    这仅仅是给予了很高的水平作为一个NoSQL解决方案使用Memcache的概述,并保持MySQL的InnoDB数据库和数据圆通。 

    虽然这个博客是不是第一个关于这个主题,我希望这几件事情连在一起,对一些人来说。 

    良好的读取和引用在这里: 
    https://blogs.oracle.com/mysqlinnodb/entry/get_started_with_innodb_memcached 
    http://schlueters.de/blog/archives/152-Not-only-SQL-memcache-and-MySQL-5.6.html 
    http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-setup.html 
    https://blogs.oracle.com/jsmyth/entry/nosql_with_mysql_s_memcached 
    http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html 
    https://blogs.oracle.com/mysqlinnodb/entry/nosql_to_innodb_with_memcached 
    https://blogs.oracle.com/MySQL/entry/mysql_5_6_is_a 
    https://blogs.oracle.com/mysqlinnodb/entry/get_started_with_innodb_memcached 
    http://planet.mysql.com/entry/?id=32830 
    NoSQL的http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html# 
    http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-internals.html 
    http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-troubleshoot.html 


    # php --version

    PHP 5.4.14 (cli) (built: Apr 27 2013 14:22:04)
    Copyright (c) 1997-2013 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies 

    否则我的PHP安装也有这个....

    more /etc/php.d/memcache.ini

    ; ----- Options to use the memcache session handler
    ; Use memcache as a session handler
    session.save_handler=memcache
    ; Defines a comma separated of server urls to use for session storage
    session.save_path="tcp://localhost:11211" 


    首先激活插件... 


    mysql> install plugin daemon_memcached soname "libmemcached.so"; 

    创建一个数据库,所以我们不只是使用标准试验Db和demo_test的所有其他的例子中使用。 只是为了显示它不只是锁定。 



    CREATE DATABASE nosql_mysql_innodb_memcache;
    use nosql_mysql_innodb_memcache;

    CREATE TABLE nosql_mysql (
    `demo_key` VARCHAR(32),
    `demo_value` VARCHAR(1024),
    `demo_flag` INT,
    `demo_cas` BIGINT UNSIGNED,
    `demo_expire` INT,
    primary key(demo_key)
    )
    ENGINE = INNODB;

    use innodb_memcache;

    INSERT INTO containers VALUES ('DEMO','nosql_mysql_innodb_memcache','nosql_mysql','demo_key','demo_value','demo_flag','demo_cas','demo_expire','PRIMARY');


    select * from containers\G
    *************************** 1. row ***************************
    name: DEMO
    db_schema: nosql_mysql_innodb_memcache
    db_table: nosql_mysql
    key_columns: demo_key
    value_columns: demo_value
    flags: demo_flag
    cas_column: demo_cas
    expire_time_column: demo_expire
    unique_idx_name_on_key: PRIMARY 


    OK现在让我们只是有一些在此表中的数据,以证明它像正常的MySQL运行。


    mysql>use nosql_mysql_innodb_memcache;
    mysql> insert into nosql_mysql VALUES ('key1','demo data','1',1,1);
    Query OK, 1 row affected (0.04 sec)


    select * from nosql_mysql \G
    *************************** 1. row ***************************
    demo_key: key1
    demo_value: demo data
    demo_flag: 1
    demo_cas: 1
    demo_expire: 1
    1 row in set (0.00 sec) 

    因此,让我们看看我们能做些什么现在用PHP ...


    PHP代码: 

    $memcache->connect('localhost', 11211) or die ("Could not connect");

    $version = $memcache->getVersion();
    echo "Server's version: ".$version."<br/>\n";

    $memcache->set('key3', 'FROM PHP') or die ("Failed to save data at the server");
    echo "Data from the cache:<br/>\n";
    echo $memcache->get('key3');
    ?> 

    PHP的输出: 
    服务器版本:5.6.10 
    从高速缓存中的数据: 
    从PHP 


    我们所能做的只是笑着典型的例子,我们看到和使用telnet。 



    telnet 127.0.0.1 11211
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    set key2 1 0 11
    Hello World
    STORED
    get key2
    VALUE key2 1 11
    Hello World
    END
    get key3
    VALUE key3 0 8
    FROM PHP
    END 
    好吧,让我们看看我们在MySQL数据库中 


    set session TRANSACTION ISOLATION LEVEL read uncommitted;
    SELECT @@GLOBAL.tx_isolation, @@tx_isolation \G
    *************************** 1. row ***************************
    @@GLOBAL.tx_isolation: REPEATABLE-READ
    @@tx_isolation: READ-UNCOMMITTED


    > select * from nosql_mysql\G
    *************************** 1. row ***************************
    demo_key: key1
    demo_value: demo data
    demo_flag: 1
    demo_cas: 1
    demo_expire: 1
    *************************** 2. row ***************************
    demo_key: key2
    demo_value: Hello World
    demo_flag: 1
    demo_cas: 2
    demo_expire: 0
    *************************** 3. row ***************************
    demo_key: key3
    demo_value: FROM PHP
    demo_flag: 0
    demo_cas: 2
    demo_expire: 0 


    因此,PHP和MySQL的InnoDB的memcache中,我们可以看到,我们能够直接地,以解决代码。

    当然别人有自己的见解( http://blog.couchbase.com/why-mysql-56-no-real-threat-nosql),但我认为这仅仅是一个开始,我们将如何能够使用NoSQL的MySQL的。