程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Linux環境安裝MySQL需初始化

Linux環境安裝MySQL需初始化

編輯:關於MYSQL數據庫
 Linux環境中,安裝好MySQL後,還不能直接啟動服務,必須先對數據庫進行初始化。初始化的工作主要包括:

  初始化日志、表空間等數據庫必須的文件;

  創建並初始化系統數據庫(MySQL)。

  初始化完成後,啟動MySQLd守護進程,方可訪問數據庫。

  在Windows的環境下,安裝包內已經自帶了一個初始化好的環境,安裝後展開在MySQL根目錄的data子目錄。所以並不需要手工進行初始化。但是某些情況下,也可能需要從零開始初始化數據庫,比如:

  數據文件被破壞,需要重建;

  希望保留現有環境不動,建立一個新的環境;

  希望建立一個干淨的環境。

  不幸的是,Linux環境下是利用MySQL_install_db.sh腳本初始化數據庫環境的;而在Windows版中並沒有提供相應的腳本。那麼該怎麼辦呢?

  經過對Linux環境下的MySQL_install_db.sh的分析,發現初始化數據庫的命令主要是以下幾行:


  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"
  ......

  其中:

  $create_system_tables、$fill_system_tables和$fill_help_tables分別是創建系統數據庫、初始化系統數據庫中的數據、和初始化幫助數據;

  $filter_cmd_line是過濾掉主機名(用於交叉初始化非本機運行數據庫環境的情況,可忽略);

  $mysqld_install_cmd_line主要是"MySQLd --bootstrap"命令;
 

  分析清楚上述內容,就可以自己手工初始化數據庫了。具體步驟如下:

  設置mysql配置文件。主要是設置basedir(mysql的home目錄,如:/opt/MySQL-5.1.40)和datadir(數據庫文件目錄,如:/var/db/MySQL)兩個參數。

  初始化數據庫目錄,檢查/var/db/mysql和/var/db/mysql/MySQL(系統數據庫)目錄是否存在,若不存在則手工創建之。

  准備初始化數據庫的sql腳本。將/opt/mysql-5.1.40/share目錄下的mysql_system_tables.sql、 mysql_system_tables_data.sql和fill_help_tables.sql三個文件拷貝到/tmp目錄下,並在每個文件的最開始插入“use MySQL;”一行。

  執行下列命令,初始化數據庫:

  /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

  運行/opt/mysql-5.1.40/bin/MySQLd.exe啟動數據庫服務(注意:停止數據庫服務的命令是/opt/mysql-5.1.40/bin/MySQLadmin.exe -uroot shutdown)。

  運行/opt/mysql-5.1.40/bin/MySQL.exe -uroot,訪問數據庫服務,驗證數據庫是否正常。

  至此數據庫已初始化完畢,可以正常訪問了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved