MySQL中存在兩個root用戶,一個是mysql庫中的root用戶,另一個是操作系統(tǒng)中的root用戶。下面分別介紹這兩個root用戶的作用。
mysql庫中的root用戶
mysql>use mysql; mysql>select user,host from user where user='root'; +------+-----------+ | user | host | +------+-----------+ | root | localhost | +------+-----------+
可以看到mysql庫中的root用戶是默認(rèn)創(chuàng)建的超級管理員賬戶。該用戶有最高權(quán)限,可以進(jìn)行任何操作??梢酝ㄟ^mysql的grant和revoke命令控制該用戶對其他用戶和數(shù)據(jù)庫的權(quán)限。
操作系統(tǒng)中的root用戶
$ sudo mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 Server version: 8.0.27-0ubuntu0.20.04.1 (Ubuntu) mysql>select user(); +----------------+ | user() | +----------------+ | root@localhost | +----------------+
可以看到在操作系統(tǒng)中可以通過root用戶登錄到mysql,該用戶也是具有最高權(quán)限的超級管理員賬戶。通過操作系統(tǒng)的文件權(quán)限可以控制該用戶對數(shù)據(jù)文件的訪問權(quán)限。
需要注意的是,盡管這兩個root用戶擁有相同的名稱,但它們在MySQL中有著不同的作用和權(quán)限。我們要根據(jù)實(shí)際情況正確使用這兩個root用戶。