Windows環境下初始化mysql

来源:http://www.cnblogs.com/shouce/archive/2016/02/25/5215736.html
-Advertisement-
Play Games

Linux環境中,安裝好mysql後,還不能直接啟動服務,必須先對資料庫進行初始化。初始化的工作主要包括: 初始化日誌、表空間等資料庫必須的文件; 創建並初始化系統資料庫(mysql)。 初始化完成後,啟動mysqld守護進程,方可訪問資料庫。 在Windows的環境下,安裝包內已經自帶了一個初始化


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"命令;
  分析清楚上述內容,就可以自己手工初始化資料庫了。具體步驟如下:
  1. 設置mysql配置文件。主要是設置basedir(mysql的home目錄,如:/opt/mysql-5.1.40)和datadir(資料庫文件目錄,如:/var/db/mysql)兩個參數。
  2. 初始化資料庫目錄,檢查/var/db/mysql和/var/db/mysql/mysql(系統資料庫)目錄是否存在,若不存在則手工創建之。
  3. 準備初始化資料庫的sql腳本。將/opt/mysql-5.1.40/share目錄下的mysql_system_tables.sql、mysql_system_tables_data.sql和fill_help_tables.sql三個文件拷貝到/tmp目錄下,併在每個文件的最開始插入“use mysql;”一行。
  4. 執行下列命令,初始化資料庫:
    • /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
  5. 運行/opt/mysql-5.1.40/bin/mysqld.exe啟動資料庫服務(註意:停止資料庫服務的命令是/opt/mysql-5.1.40/bin/mysqladmin.exe -uroot shutdown)。
  6. 運行/opt/mysql-5.1.40/bin/mysql.exe -uroot,訪問資料庫服務,驗證資料庫是否正常。
至此資料庫已初始化完畢,可以正常訪問了。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • HTML5現在前端圈中,已然成為一個不那麼新的技術辭彙了,很多公司也把HTML5也當成了硬性的技能要求,但是很多前端恐怕都不瞭解HTML5的拖拽怎麼實現吧。 看了下極客學院的視頻,大概的瞭解了下思路。所以整理備份,便於以後查閱。先上示例: index.html 1 <!doctype html> 2
  • UICollectionView 在創建的時候,要給它一個UICollectionViewFlowLayout (不然會崩潰),就像tableview一樣,也要為它註冊自定義的cell。 UICollectionViewFlowLayout *flowLayout = [[UICollectionV
  • 一、第一次做轉屏的時候走了不少彎路,過一段時間不寫,發現忘了差不多了,還好有度娘和google,讓我很快找到感覺,下麵來談談我對轉屏的瞭解(有不對的地方或更好的方法請留言,不勝感激!!!) iOS6前的轉屏比較簡單就一個方法 - (BOOL)shouldAutorotateToInterfaceOr
  • 我們在使用Android手機打電話時,有時可能會需要對來去電通話自動錄音,本文就詳細講解實現Android來去電通話自動錄音的方法,大家按照文中的方法編寫程式就可以完成此功能。 來去電自動錄音的關鍵在於如何監聽手機電話狀態的轉變: 1)來電的狀態的轉換如下(紅色標記是我們要用到的狀態) 空閑(IDE
  • 本篇將從四個方面對iOS開發中經常使用到的AFNetworking框架進行講解: 一、什麼是 AFN 二、為什麼要使用 AFN 三、AFN 怎麼用 三、AFN和ASI的區別 一、什麼是 AFN AFN 全稱為 AFNetworking,是一個構建與在 NSURLConnection、NSOperat
  • 本文目錄 一種緩存優化方案 響應頭'Last Modified'和請求頭'If Modified Since' 'Keep Alive'響應頭和不離線的URLSession 'Expires'響應頭 這篇文章的意義 正文開始 首先要說一件重要的事: NSCache和NSURLCache一點關係也沒有
  • HTML 1、HTML的概述 1.1、HTML簡介 l HTML(Hyper Text Markup Language):超文本標記語言。 >標記就是標簽 >HTML不是一種編程語言,而是一種標記語言 l 作用: 就是用來寫網頁的 1.2、HTML的書寫規範 a).HTML的創建 可以使用文本編輯器...
  • (一),使用dispatch_set_target_queue更改Dispatch Queue的執行優先順序 dispatch_queue_create函數生成的DisPatch Queue不管是Serial DisPatch Queue還是Concurrent Dispatch Queue,執行的優
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...