MySQL中的user()函數可以幫助我們查找當前登錄用戶的用戶名和主機名。
SELECT USER();
以上的語句將返回一個類似于"myusername@localhost"的字符串,其中"myusername"是當前登錄用戶的用戶名,"localhost"是該用戶所處的主機名。
我們可以使用user()函數來限制訪問MySQL數據庫的用戶。
GRANT SELECT ON mydatabase.* TO 'myusername'@'localhost' IDENTIFIED BY 'mypassword';
在上面的語句中,我們為用戶"myusername"授予了對數據庫"mydatabase"中所有表的SELECT權限,并指定了該用戶的主機名為"localhost",密碼為"mypassword"。這樣,其他主機上的用戶是無法訪問該數據庫的。
我們還可以在SQL語句中使用user()函數。例如:
INSERT INTO mytable (user, message) VALUES (USER(), 'Hello world!');
以上的語句將插入一條記錄到表"mytable"中,其中"user"列的值為當前登錄用戶的用戶名和主機名,"message"列的值為"Hello world!"。
總之,user()函數是MySQL中非常有用的一個函數,可以幫助我們限制訪問和記錄日志。