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

使一個新的MySQL安裝更安全

編輯:關於MYSQL數據庫
在你自己安裝了一個新的MySQL服務器後,你需要為MySQL的root用戶指定一個目錄(缺省無口令),否則如果你忘記這點,你將你的MySQL處於極不安全的狀態(至少在一段時間內)。

在Unix(Linux)上,在按照手冊的指令安裝好MySQL後,你必須運行mysql_install_db腳本建立包含授權表的mysql數據庫和初始權限。在Windows上,運行分發中的Setup程序初始化數據目錄和MySQL數據庫。假定服務器也在運行。

當你第一次在機器上安裝MySQL時,MySQL數據庫中的授權表是這樣初始化的:

你可以從本地主機(localhost)上以root連接而不指定口令。root用戶擁有所有權限(包括管理權限)並可做任何事情。(順便說明,MySQL超級用戶與Unix超級用戶有相同的名字,他們彼此毫無關系。)
匿名訪問被授予用戶可從本地連接名為test和任何名字以test_開始的數據庫。匿名用戶可對數據庫做任何事情,但無管理權限。
從本地主機多服務器的連接是允許的,不管連接的用戶使用一個localhost主機名或真實主機名。如:

% MySQL -h localhost test

% MySQL -h pit.snake.Net test

你以root連接MySQL甚至不指定口令的事實只是意味著初始安裝不安全,所以作為管理員的你首先要做的應該是設置root口令,然後根據你設置口令使用的方法,你也可以告訴服務器重載授權表是它知道這個改變。(在服務器啟動時,它重載表到內存中而可能不知道你已經修改了它們。)

對MySQL 3.22和以上版本,你可以用MySQLadmin設置口令:

% MySQLadmin -u root password yourpassWord

對於MySQL的任何版本,你可以用mysql程序並直接修改MySQL數據庫中的user授權表:

% mysql -u root MySQL
MySQL>UPDATE user SET password=PASSWORD("yourpassWord" WHERE User="root";

如果你有MySQL的老版本,使用MySQL和UPDATE。

在你設置完口令後,通過運行下列命令檢查你是否需要告訴服務器重載授權表:

% MySQLadmin -u root status

如果服務器仍然讓你以root而不指定口令而連接服務器,重載授權表:

% MySQLadmin -u root reload

在你設置了root的口令後(並且如果需要重載了授權表),你將需要在任何時候以root連接服務器時指定口令。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved