Windows環(huán)境下初始化mysql_Windows教程
Linux環(huán)境中,安裝好mysql后,還不能直接啟動(dòng)服務(wù),必須先對(duì)數(shù)據(jù)庫(kù)進(jìn)行初始化。初始化的工作主要包括:
- 初始化日志、表空間等數(shù)據(jù)庫(kù)必須的文件;
- 創(chuàng)建并初始化系統(tǒng)數(shù)據(jù)庫(kù)(mysql)。
在Windows的環(huán)境下,安裝包內(nèi)已經(jīng)自帶了一個(gè)初始化好的環(huán)境,安裝后展開(kāi)在mysql根目錄的data子目錄。所以并不需要手工進(jìn)行初始化。但是某些情況下,也可能需要從零開(kāi)始初始化數(shù)據(jù)庫(kù),比如:
- 數(shù)據(jù)文件被破壞,需要重建;
- 希望保留現(xiàn)有環(huán)境不動(dòng),建立一個(gè)新的環(huán)境;
- 希望建立一個(gè)干凈的環(huán)境。
不幸的是,Linux環(huán)境下是利用mysql_install_db.sh腳本初始化數(shù)據(jù)庫(kù)環(huán)境的;而在windows版中并沒(méi)有提供相應(yīng)的腳本。那么該怎么辦呢?
經(jīng)過(guò)對(duì)Linux環(huán)境下的mysql_install_db.sh的分析,發(fā)現(xiàn)初始化數(shù)據(jù)庫(kù)的命令主要是以下幾行:

mysql_install_db.sh
# Pipe mysql_system_tables.sql to "mysqld --bootstrap"
s_echo "Installing MySQL system tables..."
if { echo "use mysql;"; cat $create_system_tables $fill_system_tables; } | eval "$filter_cmd_line" | $mysqld_install_cmd_line > /dev/null
then
s_echo "OK"
s_echo "Filling help tables..."
# Pipe fill_help_tables.sql to "mysqld --bootstrap"
if { echo "use mysql;"; cat $fill_help_tables; } | $mysqld_install_cmd_line > /dev/null
then
s_echo "OK"
......
s_echo "Installing MySQL system tables..."
if { echo "use mysql;"; cat $create_system_tables $fill_system_tables; } | eval "$filter_cmd_line" | $mysqld_install_cmd_line > /dev/null
then
s_echo "OK"
s_echo "Filling help tables..."
# Pipe fill_help_tables.sql to "mysqld --bootstrap"
if { echo "use mysql;"; cat $fill_help_tables; } | $mysqld_install_cmd_line > /dev/null
then
s_echo "OK"
......
其中:
- $create_system_tables、$fill_system_tables和$fill_help_tables分別是創(chuàng)建系統(tǒng)數(shù)據(jù)庫(kù)、初始化系統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)、和初始化幫助數(shù)據(jù);
- $filter_cmd_line是過(guò)濾掉主機(jī)名(用于交叉初始化非本機(jī)運(yùn)行數(shù)據(jù)庫(kù)環(huán)境的情況,可忽略);
- $mysqld_install_cmd_line主要是"mysqld --bootstrap"命令;
分析清楚上述內(nèi)容,就可以自己手工初始化數(shù)據(jù)庫(kù)了。具體步驟如下:
- 設(shè)置mysql配置文件。主要是設(shè)置basedir(mysql的home目錄,如:/opt/mysql-5.1.40)和datadir(數(shù)據(jù)庫(kù)文件目錄,如:/var/db/mysql)兩個(gè)參數(shù)。
- 初始化數(shù)據(jù)庫(kù)目錄,檢查/var/db/mysql和/var/db/mysql/mysql(系統(tǒng)數(shù)據(jù)庫(kù))目錄是否存在,若不存在則手工創(chuàng)建之。
- 準(zhǔn)備初始化數(shù)據(jù)庫(kù)的sql腳本。將/opt/mysql-5.1.40/share目錄下的mysql_system_tables.sql、mysql_system_tables_data.sql和fill_help_tables.sql三個(gè)文件拷貝到/tmp目錄下,并在每個(gè)文件的最開(kāi)始插入“use mysql;”一行。
- 執(zhí)行下列命令,初始化數(shù)據(jù)庫(kù):
- /opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console < /tmp/mysql_system_tables.sql
- /opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console < /tmp/mysql_system_tables_data.sql
- /opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console < /tmp/fill_help_tables.sql
- 運(yùn)行/opt/mysql-5.1.40/bin/mysqld.exe啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)(注意:停止數(shù)據(jù)庫(kù)服務(wù)的命令是/opt/mysql-5.1.40/bin/mysqladmin.exe -uroot shutdown)。
- 運(yùn)行/opt/mysql-5.1.40/bin/mysql.exe -uroot,訪問(wèn)數(shù)據(jù)庫(kù)服務(wù),驗(yàn)證數(shù)據(jù)庫(kù)是否正常。
相關(guān)Windows教程:
Windows教程Rss訂閱服務(wù)器教程搜索
Windows教程推薦
猜你也喜歡看這些
- 用Win 2003 server打造安全的個(gè)人Web服務(wù)器
- Windows 2003校園Web服務(wù)器常見(jiàn)問(wèn)題
- Web服務(wù)器日志工具使用點(diǎn)評(píng)
- iis6服務(wù)器設(shè)置排錯(cuò)解答
- 網(wǎng)絡(luò)安全之CMD下的網(wǎng)絡(luò)安全配置
- memcache和memcached安裝過(guò)程
- 扼殺IIS服務(wù)器性能的十條規(guī)則
- WIN2003下IIS配置
- IIS常見(jiàn)問(wèn)題與錯(cuò)誤及其解決方案
- 通過(guò)偽靜態(tài)規(guī)則實(shí)現(xiàn)子目錄綁定
- 相關(guān)鏈接:
- 教程說(shuō)明:
Windows教程-Windows環(huán)境下初始化mysql
。