Selected Category: 資料庫 (15)

View Mode: Post List Post Summary

# mysql -u root -p

# use Database_Name

# repair table Table_Name;

 

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(152)

前陣子 Daydream 問我說 MySQL 在選擇連線校對時,utf8_general_ciutf8_unicode_ci 哪個好?差別在哪裡。

一直以來我都是用 utf8_general_ci 來做校對,因此也回了他用 utf8_general_ci 較好。

Google 了一下,找到這篇 mysql 裡 utf8_general_ci 跟 utf8_unicode_ci 連線校對的差異 文章,就解答了我們的疑惑了。

簡單來說,若在做資料庫編碼轉換時, utf8_general_ci 速度較快而 utf8_unicode_ci 較正確,這是二者最大的差異!

其實對於我們常用的中文 ( multibyte ) 選擇這二種都行,效果是一樣的,但若碰到其它的語言可就不一定了,因此能用 utf8_unicode_ci 來做為預設的編碼還是較為妥當的!官網在 MySQL Manual 9.11.1 Unicode Character Sets 也做了說明,有興趣的人可以再參考一下

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(337)

參考藍小熊日記的說明,今天成功設定回來了,此篇記錄一下。

首先將 mysql 結束掉:

Linux : service mysqld stop

FreeBSD : ps ax ( 找到 mysql ID 後 ),再 kill -9 MySQL-ID

再用以下的指令啟動並進入 MySQL

# mysqld -u root --skip-grant-tables &

# mysql

這樣就可以進入 MySQL

mysql > use mysql;
mysql > UPDATE user SET password=password('新的密碼') where user='root';
mysql > FLUSH PRIVILEGES;

接下來再一次啟動系統 or 啟動 MySQL 就大功告成了!

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(457)

一般來說,若從 phpMyAdmin Dump 出來的 SQL 太大時,透過 phpMyAdmin 在倒回去時往往會發生逾時或是超出檔案大小的限制 ...

雖然說可以去修改 php.ini 來改善此問題,但並不是每個人都是系統的管理者,有可能只是租用空間的使用者而已,遇到這種情形就一籌莫展了。我過去還原資料庫都是用暴力法,直接把整個實體資料庫「搬過去」,即使再大都不會有問題,但這只挶限是系統管理者的操作方式。

不過就是有好人寫出了 bigdump 這個好東西,使用方式很簡單。打開 bigdump.php 後,去修改這幾行
$db_server = 'localhost';
$db_name = '資料庫名稱';
$db_username = '使用者名稱';
$db_password = '使用者密碼';
$filename = '要備份的 sql';
$linespersession = 3000; // 指每次還原幾筆
$delaypersession = 5000; // 中間間隔要休息幾秒,此例是 5 秒鍾
$db_connection_charset = ''; // 編碼使用的字元是哪一種
改好之後,把 sql 檔案和這個 bigdump.php 一起上傳到 phpmyadmin 的目錄下,再直接執行它囉!

[1] 阿修的部落格 - BigDump─MySQL資料匯入好幫手

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(744)

這是從爪哇豆的秘密(JAVA)看到的,算是一個不錯用的小技巧!


利用這個方式可以隨機取得資料庫的資料來應用,如廣告、最新消息等....


使用 SQL 語法的 TOP n 來指定取得筆數,再用 ORDER BY 的方式,來亂數取得資料,並排序。


MS SQL:


SELECT TOP 1 * FROM Table WHERE 條件 ORDER BY NEWID()

ACCESS:


SELECT TOP 1 * FROM Table WHERE 條件 ORDER BY RND(數字欄位名稱)

MYSQL:


SELECT * FROM Table ORDER BY RAND() LIMIT 1


[1] 爪哇豆的秘密(JAVA) - 隨機取得資料(MSSQL,ACCESS,MYSQL)

Posted by bojack at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(229)

1 2 3