文章目錄
把MySQL中的一些常見問題與常用語句彙總一下,以備後查。
root用戶初始登入與重置密碼
初次安裝MySQL後,root用戶的密碼會存放於日誌文件/var/log/mysqld.log
, 登入之後,首先需要使用如下命令重置root密碼,否則是不能創建和修改任何用戶:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your-password';
允許root用戶遠程登入
默認root只允許從本機登入,如果需要使用root遠程登入,需做如下設置:
DROP USER 'root'@'%';
CREATE USER 'root'@'%' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
爲特定數據庫創建特定用戶並賦予權限
我們通常會爲某個應用的數據庫創建專有的用戶,限定該用戶只在該數據庫上擁有權限,且爲全部權限。SQL語句如下:
CREATE DATABASE `myapp`;
DROP USER 'myapp'@'hostname';
CREATE USER 'myapp'@'hostname' IDENTIFIED BY 'my-password';
GRANT ALL PRIVILEGES ON myapp.* TO 'myapp'@'hostname' WITH GRANT OPTION;
FLUSH PRIVILEGES;
導出完整的數據庫到SQL腳本,只包含schema
mysqldump -u root -pyour-password --add-drop-database --add-drop-table -mydb > mydb.sql
導出完整的數據庫到SQL腳本,包含schema和insert語句
mysqldump -u root -pyour-password --add-drop-database --add-drop-table mydb > mydb.sql
執行SQl腳本
mysql -h host -u user -p < your-sql.sql