欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql導出用戶

錢艷冰2年前10瀏覽0評論

MySQL 是流行的關系型數據庫管理系統,當你需要在不同的服務器之間遷移數據時,常常需要將數據庫中的用戶和權限也同時導出來。下面介紹如何使用 MySQL 命令行導出用戶。

1. 登錄 MySQL

$ mysql -u USERNAME -p
Enter password: PASSWORD

其中,USERNAME 為 MySQL 用戶名,PASSWORD 為密碼。如果密碼為空,可以直接輸入回車。

2. 查看用戶

mysql>SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| debian-sys-maint | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

通過以上命令可以查看當前數據庫中的用戶和主機信息。

3. 導出用戶

mysql>SELECT CONCAT('CREATE USER ''', user, '''@''', host, ''' IDENTIFIED BY ''password'';') FROM mysql.user; >/tmp/create_users.sql

將以上命令執行后,會將創建用戶的語句保存在 /tmp/create_users.sql 文件中。其中,password 可以替換為具體的密碼。

4. 導出用戶權限

mysql>SELECT CONCAT('GRANT ', 
GROUP_CONCAT(DISTINCT privilege_type SEPARATOR ', '), 
' ON *.* TO ''', user, '''@''', host, '''') 
FROM mysql.user 
LEFT JOIN mysql.db ON (mysql.user.User = mysql.db.User AND mysql.user.Host = mysql.db.Host) 
LEFT JOIN mysql.tables_priv ON (mysql.user.User = mysql.tables_priv.User AND mysql.user.Host = mysql.tables_priv.Host) 
LEFT JOIN mysql.columns_priv ON (mysql.user.User = mysql.columns_priv.User AND mysql.user.Host = mysql.columns_priv.Host) 
WHERE mysql.user.User != '' and mysql.user.Host != '' and mysql.user.User NOT LIKE 'mysql.%' 
GROUP BY mysql.user.User, mysql.user.Host INTO OUTFILE '/tmp/grant_users.sql';

以上命令會將各個用戶的權限授予語句保存在 /tmp/grant_users.sql 文件中。

至此,我們成功導出了數據庫中的用戶和用戶相應的權限。