mysql_install_db相關(guān)介紹
mysql_install_db 腳本的目的是生成新的MySQL授權(quán)表。它不覆蓋已有的MySQL授權(quán)表,并且它不影響任何其它數(shù)據(jù)。
如果你想要重新創(chuàng)建授權(quán)表,首先停止mysqld服務(wù)器(如果它正運(yùn)行)。然后重新命名數(shù)據(jù)目錄下的MySQL目錄并保存,然后運(yùn)行mysql_install_db。例如:
shell> mv mysql-da
shell> mysql_install_db --user=mysql
本節(jié)列出了運(yùn)行mysql_install_db時(shí)你可能遇到的問題:
· mysql_install_db fails to install the grant tables
你會(huì)發(fā)現(xiàn)mysql_install_db不能安裝 授權(quán)表,顯示下面的消息后終止:
Starting mysqld daemon with databases from XXXXXX
mysqld ended
在這種情況下,你應(yīng)該很小心地檢驗(yàn)日志文件!日志文件應(yīng)該位于目錄“XXXXXX”,用錯(cuò)誤消息命名,并且應(yīng)該指出為什么mysqld沒啟動(dòng)。如果你不理解發(fā)生的事情,郵寄一份錯(cuò)誤報(bào)告,包含日志文件!
· 已經(jīng)有一個(gè)amysqld進(jìn)程在運(yùn)行
表示服務(wù)器在運(yùn)行,這種情況下可能已經(jīng)創(chuàng)建了授權(quán)表。如果如此,則不再需要運(yùn)行mysql_install_db,因?yàn)橹恍枰\(yùn)行一次(當(dāng)你首次安裝MySQL時(shí))。
· 當(dāng)一個(gè)服務(wù)器正運(yùn)行時(shí),安裝第二個(gè)服務(wù)器不工作
這只有在當(dāng)你已經(jīng)有已存在的MySQL安裝但是想要把新安裝放在一個(gè)不同的地方時(shí)才會(huì)發(fā)生。例如,你可能已經(jīng)有了一個(gè)產(chǎn)品安裝,但為了測(cè)試想要同時(shí)運(yùn)行2個(gè)安裝。通常當(dāng)你試著運(yùn)行第二個(gè)服務(wù)器時(shí),發(fā)生的問題是它試圖和第一個(gè)使用同樣的套接字和端口。在這種情況下,你將遇到錯(cuò)誤消息:
Can't start server: Bind on TCP/IP port:
Address already in use
Can't start server: Bind on unix socket...
· 你沒有“ /tmp ”的寫權(quán)限
如果你沒有寫權(quán)限在默認(rèn)位置(在“/tmp”里)創(chuàng)建一個(gè)Unix套接字文件,或沒有在“/tmp”創(chuàng)建臨時(shí)文件的許可,在運(yùn)行mysql_install_db或mysqld服務(wù)器時(shí),你將遇到一個(gè)錯(cuò)誤。
你可以在開始mysql_install_db或mysqld之前執(zhí)行以下命令指定一個(gè)不同的Unix套接字文件位置和臨時(shí)目錄:
shell> TMPDIR=/some_tmp_dir/
shell> MYSQL_UNIX_PORT=/some_tmp_dir/mysql.sock
shell> export TMPDIR MYSQL_UNIX_PORT
some_tmp_dir應(yīng)該是你有寫許可的某個(gè)目錄的全路徑。
然后,你應(yīng)當(dāng)能夠用這些命令運(yùn)行mysql_install_db并啟動(dòng)服務(wù)器:
shell> bin/mysql_install_db --user=mysql
shell> bin/mysqld_safe --user=mysql &
如果mysql_install_db位于scripts目錄下,首先修改命令scripts/mysql_install_db。
posted on 2011-03-05 14:22 強(qiáng)強(qiáng) 閱讀(3124) 評(píng)論(0) 編輯 收藏 所屬分類: mysql