支援Mysql 使MySQL安裝更安全

2021-04-01 05:18:55 字數 1208 閱讀 2797

你自己安裝了乙個新的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.*** 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/";

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

% mysqladmin -u root status

如果伺服器仍然讓你以root而不指定口令而連線伺服器,過載授權表:

% mysqladmin -u root reload

在你設定了root的口令後(並且如果需要過載了授權表),你將需要在任何時候以root連線伺服器時指定口令。

Linux 使 MySQL支援中文

使mysql 支援中文 zcshou mysql 4.1 及更高版本中,字符集的支援 character set support 有兩個方面 字符集 character set 和排序方式 collation 對於字符集的支援細化到四個層次 伺服器 server 資料庫 database 資料表 t...

如何使mysql支援emoji儲存

1.使資料庫的編碼為utf8mb4 2.使表的編碼為utf8mb4 3.修改對應的表的字段的編碼為utf8mb4 alter table jk account modify column sig nature varchar 128 character set utf8mb4 collate utf...

mysql的安裝使用 mysql的安裝和使用

centos5.5下安裝mysql 5.5.9ga 或mysql 5.5.8ga 的經過和心得 筆記 1.檢視當前centos版本為5.5 final lsb release a 3.更新需要的庫 yum install gcc gcc c yum install ncurses devel ncu...