目前日期文章:200802 (32)

瀏覽方式: 標題列表 簡短摘要
作日處理一個之前寫的程式ID登入和密碼,但發現帳號輸入大小寫,密碼則無此問題,因為密碼是透過MD5驗證,
結果都可以驗證過,本來是要做成區分大小寫的,經查驗後發現是我ID攔位在MySQL中用錯字符集編碼了,本來使
utf8_general_ci 但該編碼是不區分大小寫的,所以將編碼改成 utf8_bin ,這樣就可以了區分大小寫不同了。

以下為 MySQL 5.0 的所有 字符集編碼 資料

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL的快速修復

在長時間使用MySQL後,數據庫可能會出現一些問題。大多數問題可以通過簡單的操作進行快速修復。下面介紹兩種快速檢修

MySQL數據庫的方法。

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

1. 安裝TermReadKey
wget http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz
tar xzvf Term*
cd Term*
perl Makefile.pl
make
make test
make install

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

如何從一位菜鳥蛻變成為高手,靈活使用的SQL語句是必不可少的。
本文收集了部分比較經典,常用的SQL語句供大家參考,希望對大家有所幫助。

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL Master 如果意外的當掉, 重新開機.. 等等狀況, 造成 Replication 不會動, 通常會是 binlog 壞掉造成的, 通常看到這個能做的大多是重新把 Master 的資料倒出來, 再倒回 Slave, 然後重新開始, 但是當運氣不太好, 三天兩頭就有機器又燒起來的狀況, 就會去想更好的解法......

先來看看 Replication 出問題該怎麼查:

mysql -u root # 先進入 mysql

show slave status # 看看 Last_error 有沒有其它狀況(最常見是 Duplicate Key)

處理步驟:

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL 中有內建的設定, 在 my.cnf 中設定:
log-slow-queries = [slow_query_log_filename]
即可記錄查詢時間花費超過的 10s的 SQL 語法(Default).
若要改 5秒 可設定如: long_query_time = 5 即設定為 5s 記錄下來.找出 MySQL 哪些 Query 速度較慢

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL Table 若壞掉的時後, 若是 MyISM 通常會將 MySQL 停下來, 之後使用 myismchk 去修復 Table 的 MYI.

但是若不能將 MySQL 停下來, 但是 Table 又壞了, 就要使用 repair 來修了.

指令:
REPAIR TABLE table_name

詳細可參考 Mysql Reference Manual: REPAIR TABLE Syntax

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL 常用的設定和指令記錄, 採 FAQ 方式記錄.

問:MySQL 於 mysql> 使用 less 看結果
答:pager less -n -i -S
問:直式列出 query 結果
答:SELECT * FROM TABLE_NAMEG
問:設定 mysql> 變成 (user@host) [(dbname)]>
答:於 .bashrc 加一行
export MYSQL_PS1="(u@h) [d]> "

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

當 MySQL 的資料量太大, 在使用 mysqldump的時後遇到 Out Of Memory 的時後該怎麼辦?

有以下兩種做法:

1. 設定 my.cnf, 設定以下參數, max_allowed_packet=16M 可隨機再調大.

[mysqldump] quick max_allowed_packet = 16M

2. 使用 -q (--quick) 的參數, 使用此參數就不會使用到 Memory.

使用範例: mysqldump -q -u root DB_NAME > DB_NAME.sql

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL MyISAM 有 4GB 的限制, 如果使用量超出 4GB, 有何方法能解決.

因: MySQL 用 32bits pointer 來記錄資料位置, 所以只能定址到4GB的空間, 再多就會出現此錯誤.

解法: 將原本檔案大小限制 轉換成 rows 數目限制即可. 但是特別注意, 要做此轉換前, 一定要做備份, 並對 table 做 OPTIMIZE TABLE... 千萬千萬要做 OPTIMIZE TABLE.

實作如下:

  1. mysqldump -u root DB_NAME > DB_NAME.sql 備份
  2. mysql> optimize table TABLE_NAME; (註)
  3. mysql> alter table TABLE_NAME max_rows=210000000 avg_row_length = 1024;


若是要建立或還原時就設定要轉換, 可於 CREATE TABLE 語法中, 最後指定如下:

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

這功能一定要 MySQL 4 以上才有支援...

我發現很多人不知道也不會開啟該設定..
就算預設是Open得.但是預設上沒有配置QueryCacheMemory 所以等於沒開一樣...

各位可以看一下 show status; 後得資料...
其中.
代碼:


Qcache_queries_in_cache 0
Qcache_inserts 0
Qcache_hits 0
Qcache_lowmem_prunes 0
Qcache_not_cached 0
Qcache_free_memory 0
Qcache_free_blocks 0
Qcache_total_blocks 0

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL 4.1 以後每個欄位若是 varchar or char 一樣還是只能存 255 個字,但是這跟 MySQL 4.0 的 255 意義可是大大的不同!

請看一下這篇:http://phorum.study-area.org/viewtopic.php?p=202666#202666

重點在於,MySQL 4.1 以上,varchar跟 char 判斷的這個欄位可以放多少個字,而不是多少個字元(byte)。

所以就算是中文字(欄位使用 UTF8 儲存),一樣可以塞 255 個中文字進去,而不再是之前的 255 / 3 or big5 的 255 / 2 囉!

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

Redhat MySQL 預設會將 mysql.sock 放在 /var/lib/mysql/mysql.sock, 但是另外自己 make 的 php, 預設會去拉 /tmp/mysql.sock, 所以會連不到 MySQL, 或者 mysql_connect() 會出現 function not define 等問題(php.ini 有 extension=mysql.so, 並也 restart apache, 卻還出現此錯誤).

只要去修改 my.cnf, 將 /var/lib/mysql/mysql.sock 的路徑, 改到 /tmp/mysql.sock 即可. 如同以下步驟: 

  1. vi /etc/my.cnf
  2. #socket=/var/lib/mysql/mysql.sock # 註解掉
  3. socket=/tmp/mysql.sock # 設到 /tmp/mysql.sock

此完成後即可正常使用.

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

建立資料庫
/usr/bin/mysqladmin -u root -p123456 create sfs3
還原資料庫
/usr/bin/mysql -u root -p123456 sfs3 < /ok/sfs3.sql
備份資料庫
/usr/bin/mysqldump -u root -p123456 sfs3 > /ok/sfs3.sql
刪除資料庫
/usr/bin/mysqladmin -u root -p123456 drop sfs3


依日期來備份資料庫
/usr/bin/mysqldump -u root -p123456 sfs3 > /ok/sfs3-$(date +%Y-%m-%d).sql

備份資料庫中的資料表
/usr/bin/mysqldump -u root -p123456 phpbb2 phpbb_users > /ok/phpbb_users.sql

還原資料庫中的資料表
/usr/bin/mysql -u root -p123456 phpbb2 < /ok/phpbb_users.sql

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

mysqldump 用法
mysqldump --help | more

-u 連接資料庫時的帳號
-p 連接資料庫時的密碼
--dababase 資料庫名稱
--add-drop-table 在匯入資料時要把原有的資料庫的資料先全部刪除
mysqldump -uroot -p123456 --add-drop-table --database dbname > dbname.sql
--no-create-info 不含建立資料表的敘述
mysqldump -uroot -p123456 --no-create-info --database dbname > dbname.sql
--no-data 不含資料表內的資料
mysqldump -uroot -p123456 --no-data --database dbname > dbname.sql

還原資料庫
mysql -uroot -p123456 dbname < dbname.sql

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

建立資料庫
create database database_name;

刪除資料庫
drop database database_name;

顯示 MySQL 中的資料庫
show databases;

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

指定 testuser 使用者擁有對 db1 資料庫所有的權限
mysql>grant all on db1.* to testuser@localhost identified by '123456';
mysql>flush privileges;

指定 testuser 使用者擁有對 db2 資料庫 SELECT、UPDATE、INSERT 權限
mysql>grant select,insert,update on db2.* to testuser@localhost identified by '123456';
mysql>flush privileges;


為了安全的考量,除了管理者外,其他的使用者應儘量避免將所有的權限打開,一般只開放 SELECT、INSERT、UPDATE 三項權限讓一般使用者使用,進階使用者則再加開 DELETE、CREATE、DROP、INDEX 四項權限。

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

MySQL 的資料庫都是在 /var/lib/mysql 目錄下的子目錄,一個資料庫使用一個子目錄,各個了目錄下則包含資料庫的資料表結構定義檔、資料檔以及索引檔。
ls -ld /var/lib/mysql
drwx------ 2 mysql mysql     4096  9月 16 13:33 blog16
drwx------ 2 mysql mysql     4096  9月 15 19:17 class
drwx------ 2 mysql mysql     4096  9月 15 22:15 dyna
drwx------ 2 mysql mysql     4096  9月 15 22:29 library
drwx------ 2 mysql mysql     4096  9月 16 13:50 moodle
drwx------ 2 mysql mysql    20480  9月 15 23:57 moodle15
drwx------ 2 mysql mysql    20480  9月 16 01:10 moodle16
drwx------ 2 mysql mysql     4096  9月 18 08:28 myeclass
drwx------ 2 mysql mysql     4096  9月 15 18:44 mysql
srwxrwxrwx 1 mysql mysql        0  9月 19 14:16 mysql.sock
drwx------ 2 mysql mysql     4096  9月 15 21:55 school
drwx------ 2 mysql mysql     4096  9月 15 18:44 test
drwx------ 2 mysql mysql    20480  9月 16 22:30 xoops224

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

將之前安裝 Flash Media server 2 的資料整理一下,做個記錄免得忘記

我分別安裝在 Windows XP 及 Linux ( CentOS 4.0 及 5.0 ) 進行測試的,至於在 Windows XP 上的安裝就為容易,這裡就不再詳述,針對 Linux 下的安裝做說明:

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

FFMPeg
Open Source 的 Command Line 轉影音檔軟體
(預設不支援 rmvb 與 rm)
ffmpeg-doc.html

本人目前已經可以實現在線將所有格式轉FLV,不是本地操作,是在服務器上轉哦。不過要用兩個軟件來轉,雖然

比較麻煩,但是已經實驗成功,重要的是完全免費,詳情請點擊以下鏈接,不是發廣告貼,請各版主支持。
http://www.jiaotacn.com/index.asp?boardid=15

kevin0523 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 2
找更多相關文章與討論