顯示具有 Mysql 標籤的文章。 顯示所有文章
顯示具有 Mysql 標籤的文章。 顯示所有文章

2014年8月8日 星期五

Database GUI Tools

Sequel Pro:http://www.sequelpro.com/
免費,但只能連 MySQL

Navicat:
http://www.navicat.com/
要錢,但不錯用

MySQL Workbench
http://www.mysql.com/products/workbench/

2012年1月5日 星期四

Mysql Import Data

Import Command:
mysql -u USER_NAME -p DB_NAME < YOUR.sql

如果sql檔太大,會出現以下錯誤。
ERROR 1153 (08S01) at line 523: Got a packet bigger than 'max_allowed_packet' bytes

解決方法,進入mysql,執行以下SQL:
set global max_allowed_packet=1000000000;
set global net_buffer_length=1000000;

2011年8月23日 星期二

Using IP Address To Find Country

Using GeoLite Country,參考http://www.maxmind.com/app/csv
  1. 下載GeoLite Country
  2. 建立Table
    CREATE TABLE `geo_country` (
        `start_ip` char(15) NOT NULL COMMENT '起始IP',
        `end_ip` char(15) NOT NULL COMMENT '結束IP',
        `start` bigint(20) NOT NULL COMMENT '起始值',
        `end` bigint(20) NOT NULL COMMENT '結束值',
        `country` char(2) NOT NULL COMMENT '國家簡碼',
        `name` char(50) NOT NULL COMMENT '國家名稱'
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='國家ip'

  3. 將檔名命名成和Table一樣可以在import時自動幫你對應到Table,這邊是geo_country
  4. Import CSV到Mysql
    mysqlimport
     --fields-terminated-by=","
     --fields-optionally-enclosed-by="\""
     --lines-terminated-by="\n"
     --host=<YOUR_HOST>
     --user=<YOUR_USER>
     --password=<YOUR_PASSWORD>
     <YOUR_DATABASE>
     -L /PATH/geo_country.csv
  5. 測試168.95.1.1 計算方式 (168 x 16777216) + (95 x 65536) + (1 x 256) + (1 x 1)
    SELECT * FROM `geo_country` WHERE 2824798465 BETWEEN `start` AND `end`;
若要安裝在Debian上可參考:http://www.php.net/manual/en/geoip.setup.php#93000
輕鬆省事的啦。

另外如果你要求要更精確、夠有錢,也可以不用GeoLite,改用GeoIP。

2011年8月3日 星期三

Zend Server CE Can't Connect To Local MySQL Server

在Mac上使用Zend Server CE時
要用 command 連 Mysql 時出現
Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解決辦法:
sudo ln -s /usr/local/zend/mysql/tmp/mysql.sock /tmp/mysql.sock