1. 程式人生 > >mysql5.7 安裝方法 (跟舊的不一樣了)

mysql5.7 安裝方法 (跟舊的不一樣了)

其他 如何 調用 oot cto 超級用戶 定義 文件中 帳戶

MySQL 5.7發布之後很多網友都在說,打開想安裝文件夾.但是文件夾中沒有DATA目錄, 沒有mysqly默認庫.啟動不了數據庫,那是因為5.7的數據庫的初始化方法和之前的初始化不一樣了。

首先這裏所描述的過程適用於所有平臺的MySQL。5.7.6之前,使用mysql_install_db在UNIX和類UNIX系統。MySQL 5.7.7之前,Windows分布包括了在MySQL數據庫建表的數據目錄。

MySQL5.7數據庫 64位 5.7.10 官方最新版
授權方式:免費軟件軟件類型:國外軟件軟件語言:英文軟件大小:89.94 MB更新日期:2015-12-08運行環境:WinXP, Win2008, Win7, Win8
下載地址
MySQL5.7 32位 5.7.10 官網最新版
授權方式:免費軟件軟件類型:國外軟件軟件語言:英文軟件大小:86.2 MB更新日期:2015-12-08運行環境:WinXP, Win2008, Win7, Win8
下載地址
以下說明假定您當前的位置是MySQL的安裝目錄,這裏以BASEDIR為例

1
shell> cd BASEDIR
要初始化數據目錄,調用 mysqld的與 --initialize或 --initialize不安全的選項,這取決於你是否希望服務器生成的一個隨機初始密碼‘root‘@‘本地賬號‘的賬戶。

在Windows環境下,使用這些命令:

1
2
C:\> bin\mysqld --initialize
C:\> bin\mysqld --initialize-insecure
在Unix和類Unix系統,重要的是要確保數據庫的目錄和文件都是由擁有 MySQL的登錄帳戶,以便服務器具有讀寫訪問它們,當你以後運行它。為了確保這一點,如果你運行的mysqld為root,包括 --user選項,如下所示:

1
2
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysqld --initialize-insecure --user=mysql
否則,執行程序,而身份登錄mysql的,在這種情況下可以省略 --user從命令選項。

無論任何平臺,使用 --initialize為“ 默認安全 ”的安裝(即包括產生一個隨機的初始根密碼)。在這種情況下,密碼被標記為過期,你需要選擇一個新的密碼。隨著 --initialize-insecure 的選項,沒有root口令生成; 假設你把服務器投入使用之前指定一個密碼及時查詢賬戶。

如果mysqld的沒有標識的安裝目錄或數據目錄的正確位置.它可能需要指定其他選項,如 --basedir或 --datadir.如果mysqld的沒有標識的安裝目錄或數據目錄的正確位置。例如(輸入在一行上的命令):

1
2
3
shell> bin/mysqld --initialize --user=mysql
--basedir=/opt/mysql/mysql
--datadir=/opt/mysql/mysql/data
另外,對於Unix和類Unix系統,假設選擇文件名是 /opt/mysql/mysql/etc/my.cnf。把相關的選項設置中的選項文件和傳遞文件命名為 mysqld的。把文件中的這幾行:

1
2
3
[mysqld]
basedir=/opt/mysql/mysql
datadir=/opt/mysql/mysql/data
然後調用mysqld,如下(輸入上的一行命令 -- --defaults-file第一個選項):

1
2
shell> bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf
--initialize --user=mysql
在Windows中,假設C:\ my.ini中包含這些命令:

1
2
3
[mysqld]
basedir=C:\\Program Files\\MySQL\\MySQL Server 5.7
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
2
[Warning] A temporary password is generated for root@localhost:
iTag*AfrH5ej
-- 當用 --initialize-insecure賬戶時候。服務器不會生成一個密碼,會將其標記為過期,並寫入一條警告消息:

1
2
Warning] root@localhost is created with an empty password ! Please
consider switching off the --initialize-insecure option.
5.如果--init-file選項被給出以命名的SQL語句的文件時,服務器執行文件中的語句。可以進行自定義的引導序列。

服務器工作在引導方式,一些功能是不可用,限制在文件中所允許的語句。這些措施包括,涉及到賬戶管理(如報表CREATE USER或 GRANT),復制和標識符。

6.然後退出服務器

當您通過啟動服務器初始化數據目錄--initialize或--initialize-insecure,正常啟動的服務器(也就是沒有任何的這些選項),並指定‘root‘@‘localhost‘的一個新密碼:

---啟動服務器。

---鏈接到服務器..

如果你使用--initialize 但不使用--initialize-insecure初始化數據目錄,連接到服務器的 根目錄使用的隨機密碼,服務器初始化過程中產生的:

1
2
shell> mysql -u root -p
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.7down.net/article/81736.html
MySQL5.7數據庫的初始化方法由第7下載整理並發布,歡迎轉載!

mysql5.7 安裝方法 (跟舊的不一樣了)