好的,以下是在 CentOS 7 下安裝 MySQL 並完成你所要求的操作的詳細步驟:
1. **安裝 MySQL**:
首先,使用 `yum` 包管理器安裝 MySQL:
sudo yum install mysql-server
2. **啓動 MySQL 服務**:
安裝完成後,啓動 MySQL 服務:
sudo systemctl start mysqld
3. **設置 MySQL 開機自啓動**:
如果你希望 MySQL 在系統啓動時自動啓動,執行以下命令:
sudo systemctl enable mysqld
4. **MySQL 安全設置**:
MySQL 安裝完成後,運行以下命令以設置 root 用戶密碼:
sudo mysql_secure_installation
這將引導你完成一系列安全設置。按照提示操作,包括設置 root 密碼、刪除匿名用戶、禁止 root 遠程登錄等。
5. **登錄 MySQL**:
使用剛剛設置的 root 用戶密碼登錄 MySQL:
mysql -u root -p
6. **創建用戶名爲 henry,密碼爲 henrypwd 的用戶**:
在 MySQL 中執行以下命令:
CREATE USER 'henry'@'localhost' IDENTIFIED BY 'henrypwd';
7. **授予 henry 用戶權限**:
給予 henry 用戶對所有數據庫的權限:
GRANT ALL PRIVILEGES ON *.* TO 'henry'@'localhost' WITH GRANT OPTION;
8. **刷新權限**:
執行以下命令以使更改生效:
FLUSH PRIVILEGES;
9. **退出 MySQL**:
輸入以下命令退出 MySQL:
quit;
10. **以 henry 用戶登錄 MySQL**:
使用新創建的用戶 henry 登錄 MySQL:
mysql -u henry -p
11. **創建數據庫 henrydb**:
在 MySQL 中執行以下命令:
CREATE DATABASE henrydb;
12. **使用 henrydb 數據庫**:
USE henrydb;
13. **創建學生信息表 class**:
假設學生信息表包含學生姓名、年齡和性別等字段,執行以下命令創建表:
CREATE TABLE class ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, gender VARCHAR(10) );
14. **插入模擬數據**:
向表中插入 3 條模擬數據:
INSERT INTO class (name, age, gender) VALUES ('Alice', 20, 'Female'); INSERT INTO class (name, age, gender) VALUES ('Bob', 22, 'Male'); INSERT INTO class (name, age, gender) VALUES ('Charlie', 21, 'Male');
現在,你已經在 CentOS 7 下安裝了 MySQL,創建了用戶名爲 henry、密碼爲 henrypwd 的用戶,創建了數據庫 henrydb,並在其中創建了學生信息表 class,並插入了三條模擬數據。
詳細解釋第4步,即 MySQL 安全設置。
當你第一次安裝 MySQL 時,它默認是不安全的,因爲 root 用戶是沒有密碼的,而且可能存在一些默認設置可能會降低系統安全性。因此,需要運行 mysql_secure_installation
命令來加強 MySQL 的安全性。
執行 mysql_secure_installation
命令後,會提示你進行一系列的安全設置,具體包括:
-
設置 root 用戶密碼: 第一步會要求你設置 root 用戶的密碼。輸入一個安全的密碼並記住它。
-
刪除匿名用戶: MySQL 默認創建了一個匿名用戶,這是潛在的安全隱患。選擇刪除匿名用戶以提高安全性。
-
禁止 root 遠程登錄: 默認情況下,root 用戶可以從任何主機遠程登錄到 MySQL,這也是一個安全風險。選擇禁止 root 用戶從遠程主機登錄以提高安全性。
-
刪除測試數據庫: MySQL 默認安裝了一個名爲
test
的測試數據庫,它可能包含一些示例數據,這也是一個潛在的安全風險。選擇刪除測試數據庫以提高安全性。 -
刷新權限: 最後一步會要求你刷新權限,使上述更改生效。
按照這些提示依次進行操作,設置 MySQL 的安全選項後,MySQL 將變得更加安全,可以保護你的數據免受潛在的安全威脅。