主要參考
http://www.uptimemadeeasy.com/linux/mysql-migrate-users-server-server/
建立使用者帳號其實很快,create user xxxx 很快就可以解決,但麻煩的是在權限的部分。
首先要產生使用者的清單,並”產生”列出權限的 sql statement
root@ubuntu:~$ mysql -uroot -N -p -s > mysqluser Enter password: select Distinct CONCAT('show grants for `', user, '`@`', host, '`;') as query from mysql.user where user = 'myaccount'; quit
然後可以得到 mysqluser 檔案
root@ubuntu:~$ cat mysqluser show grants for `myaccount`@`%`;
然後將 mysqluser 這個 sql statement 餵給 mysql 執行,然後將結果存起來
root@ubuntu:~$ mysql -uroot -N -p -s -r mysqlgrant Enter password:
root@ubuntu:~$ cat mysqlgrant GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON *.* TO 'apikey'@'%'; GRANT SELECT, INSERT, UPDATE, DELETE ON `APIKey`.* TO 'apikey'@'%';
要注意的是產生的 grant 命令,每一行最後面要自己補上分號(;)
最後就可以在另一台機器上將權限匯入
root@ubuntu:~$ mysql -uroot -p