在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串連伺服器時指定
口令