1. 程式人生 > >MySQL5.7資料庫怎麼初始化?

MySQL5.7資料庫怎麼初始化?

MySQL 5.7釋出了,不少網友發現:開啟想安裝資料夾,但是資料夾中沒有DATA目錄, 沒有mysqly預設庫。啟動不了資料庫,那是因為5.7的資料庫的初始化方法和之前的初始化不一樣了。
 首先這裡所描述的過程適用於所有平臺的MySQL。5.7.6之前,使用mysql_install_db在UNIX和類UNIX系統。MySQL 5.7.7之前,Windows分佈包括了在MySQL資料庫建表的資料目錄。
以下說明假定您當前的位置是MySQL的安裝目錄,這裡以BASEDIR為例
    1 shell> cd BASEDIR
    要初始化資料目錄,呼叫 mysqld的與 --initialize或 --initialize不安全的選項,這取決於你是否希望伺服器生成的一個隨機初始密碼'root'@'本地賬號'的賬戶。
    在Windows環境下,使用這些命令:
    1 C:\> bin\mysqld --initialize
    2 C:\> bin\mysqld --initialize-insecure
    在Unix和類Unix系統,重要的是要確保資料庫的目錄和檔案都是由擁有 MySQL的登入帳戶,以便伺服器具有讀寫訪問它們,當你以後執行它。為了確保這一點,如果你執行的mysqld為root,包括 --user選項,如下所示:
    1 shell> bin/mysqld --initialize --user=mysql
    2 shell> bin/mysqld --initialize-insecure --user=mysql
    否則,執行程式,而身份登入mysql的,在這種情況下可以省略 --user從命令選項。
    無論任何平臺,使用 --initialize為“ 預設安全 ”的安裝(即包括產生一個隨機的初始根密碼)。在這種情況下,密碼被標記為過期,你需要選擇一個新的密碼。隨著 --initialize-insecure 的選項,沒有root口令生成; 假設你把伺服器投入使用之前指定一個密碼及時查詢賬戶。
    如果mysqld的沒有標識的安裝目錄或資料目錄的正確位置.它可能需要指定其他選項,如 --basedir或 --datadir.如果mysqld的沒有標識的安裝目錄或資料目錄的正確位置。例如(輸入在一行上的命令):
    1 shell> bin/mysqld --initialize --user=mysql
    2 --basedir=/opt/mysql/mysql
    3 --datadir=/opt/mysql/mysql/data
    另外,對於Unix和類Unix系統,假設選擇檔名是 /opt/mysql/mysql/etc/my.cnf。把相關的選項設定中的選項檔案和傳遞檔案命名為 mysqld的。把檔案中的這幾行:
    1 [mysqld]
    2 basedir=/opt/mysql/mysql
    3 datadir=/opt/mysql/mysql/data
    然後呼叫mysqld,如下(輸入上的一行命令 -- --defaults-file第一個選項):
    1 shell> bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf
    2 --initialize --user=mysql
    在Windows中,假設C:\ my.ini中包含這些命令:
    1 [mysqld]
    2 basedir=C:\\Program Files\\MySQL\\MySQL Server 5.7
    3 datadir=D:\\MySQLdata
    然後呼叫mysqld.如下(--defaults-file必須是第一個選項)
    1 C:\> bin/mysqld --defaults-file=C:\my.ini --initialize
    當呼叫的 --initialize或 --initialize-insecure選項 ,mysqld執行下面的初始化程式。
    注意
    伺服器寫入的任何訊息,以它的標準錯誤輸出。這可能會被重定向到錯誤日誌.
    伺服器會檢查資料目錄,如下所示的存在:
    如果沒有資料目錄存在,則伺服器將建立它。
    如果資料目錄存在並且不為空(即,它包含檔案或子目錄),產生一個錯誤訊息後在伺服器退出:
    1 [ERROR] --initialize specified but the data directory exists. Aborting.
    1.在這種情況下,刪除或重新命名資料目錄,然後重試。
    在MySQL 5.7.11中,現有的資料目錄允許非空,如果每個條目或者具有開頭一段的名稱(.),請使用名為--ignore-db-dir 設定。
    2.在資料目錄中,伺服器建立 的mysql系統資料庫及其表,其中包括授權表,伺服器端幫助表,時區表。
    3.伺服器初始化system tablespace 和管理所需的相關資料結構的InnoDB表。
    注意
    經過mysqld的設定了 InnoDB的system tablespace,改變一些表空間的特性需要建立一個全新的例項。這包括在system tablespace的第一個檔案,撤銷日誌的數量的檔名 ??。在配置檔案執行前的mysqld。如果你不想使用預設值,請確保該設定innodb_data_file_path中 和innodb_log_file_size 引數配置到位.同時一定要指定影響的建立和位置需要其他引數 InnoDB的檔案,如 innodb_data_home_dir和 innodb_log_group_home_dir。
    如果這些選項在您的配置檔案中文,但該檔案是不是在MySQL的讀取預設的位置,使用指定檔案位置 --defaults-extra-file設定.
    4.伺服器建立一個'root'@'localhost'的超級使用者帳戶。對於該帳號的密碼,伺服器的操作取決於你如何呼叫它:
    -- 當用 --initialize賬戶而不用--initialize-insecure賬戶時。伺服器生成一個隨機的密碼,將其標記為已過期,並寫入顯示密碼的訊息:
    1 [Warning] A temporary password is generated for
[email protected]
:
    2 iTag*AfrH5ej
    -- 當用 --initialize-insecure賬戶時候。伺服器不會生成一個密碼,會將其標記為過期,並寫入一條警告訊息:
    1 Warning] [email protected] is created with an empty password ! Please
    2 consider switching off the --initialize-insecure option.
    5.如果--init-file選項被給出以命名的SQL語句的檔案時,伺服器執行檔案中的語句。可以進行自定義的引導序列。
    伺服器工作在引導方式,一些功能是不可用,限制在檔案中所允許的語句。這些措施包括,涉及到賬戶管理(如報表CREATE USER或 GRANT),複製和識別符號。
    6.然後退出伺服器
    當您通過啟動伺服器初始化資料目錄--initialize或--initialize-insecure,正常啟動的伺服器(也就是沒有任何的這些選項),並指定'root'@'localhost'的一個新密碼:
    ---啟動伺服器。
    ---連結到伺服器..
    如果你使用--initialize 但不使用--initialize-insecure初始化資料目錄,連線到伺服器的 根目錄使用的隨機密碼,伺服器初始化過程中產生的:
    1 shell> mysql -u root -p
    2 Enter password: (enter the random root password here)
    如果您不知道該密碼,檢視伺服器錯誤日誌。
    如果你使用--initialize-insecure初始化資料目錄連線到伺服器的root沒有密碼:
    1 shell> mysql -u root --skip-password
    ---連線後,會分配一個新的root密碼:
    1 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    注意

    由伺服器執行的資料目錄初始化序列不能代替被執行的操作 mysql_secure_installation或 mysql_ssl_rsa_setup。

原檔案網址http://www.xiazai.com/article31378

相關推薦

mysql5.7初始後密碼找回

1 通過日誌檔案中給出的預設密碼 grep password /var/log/mysqld.log 2 日誌檔案發生意外後,vim /etc/my.cnf 新增skip-grant-tables=1 或者skip-grant-tables 儲存後重啟資料庫服務 mysql -uroot 即

MySQL5.7資料庫怎麼初始

MySQL 5.7釋出了,不少網友發現:開啟想安裝資料夾,但是資料夾中沒有DATA目錄, 沒有mysqly預設庫。啟動不了資料庫,那是因為5.7的資料庫的初始化方法和之前的初始化不一樣了。  首先這裡所描述的過程適用於所有平臺的MySQL。5.7.6之前,使用mysql_i

關於新版MySQL5.7資料庫安裝後使用自生成初始密碼登入的問題(MAC版)

前言:以前都是用windows程式設計的,最近轉了mac,然後就在機子上裝了個MySQL資料庫,結果安裝完成後在登入上出了問題,搞得人極其鬱悶,當然最後還是解決了,在此特別分享出來,希望跟我遇上同樣問題的朋友可以少走彎路。這也是第一次發帖,不好勿噴。 第一步:

centos 6/7 系統初始腳本

centos6 7初始化腳本#!/bin/bash 初始化系統腳本 適用centos6 和centos7 # PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATHcur_dir=$(pwd)gcc_

hiveMetastore元資料庫初始失敗:java.io.IOException: Schema script failed, errorcode 2

Traceback (most recent call last): File "/var/lib/ambari-agent/cache/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py", line

think in java--7.10初始及類載入的理解

1.在java中每個類都會編譯成一個獨立得檔案。該檔案只會在程式需要使用的時候才載入。可以說:類得程式碼在初次使用的時候才會載入。還有,當訪問static域或者方法時候,也會發生載入。初次使用之處也是static載入發生之處,所有的static物件和static方法都會在載入時按照程式順序載入,定義

Golang連線使用MySql5.7資料庫完整步驟

建立資料庫、使用者以及修改密碼 在終端中輸入命令,啟動資料庫: service mysql start 以下是在MySql中執行的操作。 為防止修改系統的資料庫,我們需要新建一個新的資料庫: CREATE

oracle筆記:資料庫初始打不開,程序為0解決方案

用PL登入提示初始化打不開,程序為0,一方面原因為資料檔案有丟失情況或者誤刪除; 另一方面為控制檔案有誤,總之就是缺失或者錯誤造成的。 下面是一次解決此方案的過程: 啟動時報這個錯誤 ORA-01157: 無法標識/鎖定資料檔案 5 - 請參閱 DBWR 跟蹤檔案 ORA-

Linux下MySQL 5.7初始

要用管理員賬號執行。 systemctl start mysql#啟動MySQL服務 mysqld_safe --user=mysql &#啟動MySQL服務(安全方式) mysql -u root -p#登入MySQL(有密碼) mysql -u root#登入MySQL(無密碼) 成功進

7初始和關閉roscpp節點

參考連結:ROS與C++入門教程-初始化和關閉roscpp節點 ROS與C++入門教程-初始化和關閉roscpp節點 說明: 介紹roscpp節點的初始化和關閉 初始化 需要兩步來初始化節點: 初始化節點:呼

centos7中搭建mysql5.7資料庫

centos7中安裝mysql的步驟 安裝: 下載原始碼包,一般將原始碼包放在/usr/local/中; cd /usr/local/ mkdir -p tools cd tools (這裡的版本可以隨時去mysql官網進行選擇) 檢視系統中是否已安裝 MySQ

Linux 系統 :CentOS7.X版本下安裝MySQL5.7資料庫

設定rpm下載目錄在/opt目錄下新建一個目錄存放mysql cd /opt sudo mkdir mysql12 下載MySQL的源 如果在這之前沒有提示-bash: wget: command not found,那麼還得先安裝wget sudo yum

Linux(CentOS6.7) 安裝MySql5.7資料庫

Linux(CentOS6.7) 安裝MySql5.7資料庫 圖文教程 linux(CentOS6.7) 環境Mysql 5.7.17安裝教程分享給大家,供大家參考,具體內容如下: 1系統約定 安裝檔案下載目錄:/data/software Mysql目錄安裝位置:/usr/loca

MySQL5.7資料庫優化之表設計

一個數據庫、表設計的優劣會影響到資料庫的效能,所以合理的設計資料庫是非常重要的。 最近看了MySQL5.7手冊,手冊第八章就是關於優化的,第十一章詳細的介紹了各個欄位。如果你有興趣可以去看看,相信會收穫頗豐。下面根據手冊及結合平時開發經驗還有大學學的資料庫原理來

EF CodeFirst關於資料庫初始策略

資料庫初始化有4種策略 策略一:資料庫不存在時重新建立資料庫 Database.SetInitializer<EFCodeFirstDbContext>(new CreateDatabaseIfNotExists<EFCodeFirstDbContext>());

解決關於對Mysql5.7資料庫遷移後MySql57服務無法啟動的問題

今天重新安裝系統需要MySql中的資料庫進行遷移。資料庫遷移資料網上一片一片的。隨便拿了個比照操作,可是搗鼓了半天就被卡在了MySql57服務啟動哪裡,怎麼都啟動不了。於是一直在懷疑自己路徑不對,其實是訪問許可權的問題。 現在把步驟詳細記錄下來,以備以後不時之

SonarQube5.6安裝+MySQL5.7資料庫安裝

重灌系統後,再一次裝sonarqube伺服器(以下簡稱SQ)。這裡記錄下步驟,供大家參考。 1.安裝 MySQL 為與SQ相容,我們使用MySQL5.6-5.7版本,若系統裡沒有MySQL,直接安裝即可;若有系統自帶的MySQL5.5或5.1等需要先進行解除安裝。 解除安裝

mysql5.7資料庫安裝完成後如何配置環境變數

如果我們在windows10系統中安裝mysql後,沒有配置環境變數的話,在使用命令列進行mysql操作時就必須要進入mysql安裝目錄才行。這樣操作起來感覺會非常麻煩。這該怎麼辦呢?win10系統中配置mysql環境變數的方法。 方法/步驟: 鍵盤組合鍵:Win+i,開啟設定視窗,點選“系統”,進入系統設

Mysql5.7初始密碼忘記後的更改

今日在初始化mysql,在執行下面的命令時,系統沒有提示我初始化的密碼,導致在bin/mysql --user=root -p時不知道輸入什麼密碼。bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

MYSQL5.7資料庫遷移(win)

MYSQL5.7資料庫遷移        說到MYSQL資料庫遷移,為什麼要遷移呢?我和同事的電腦一個跑應用一個跑MYSQL,因為這個是個爬蟲專案,專案跑的主要是定時任務,所以收資料庫持續的IO,硬碟壓力真的很大(伺服器上肯定是固態,本機是機械)。有一天早上去的時候發現我的M