789
魔獸
Mysql權限命令
在網上搜索了半天,最後發現設置權限命令都不能用。檢測了半天發現 命令字符 寫錯了。我靠。網上大部分都是錯的。。
upkiller 為密碼
1,查看mysql狀態:
mysqladmin -h localhost -u root -pupkiller satus
2,更改root密碼:
mysqladmin -h localhost -u root -pupkiller password upkiller
3,導入一個sql文件到數據庫:(恢複一個數據庫)
mysql -h localhost -u root -pupkiller cacti < cacti.sql //把cacti.sql文件導入到cacti數據庫或者使用source命令導入
4,導出一個數據庫:
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名 mysqldump -h localhost -u root -pupkiller mysql > mysql.sql
5,導出一個表:
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u root -pupkiller mysql user > user.sql
6,導出一個數據庫結構:
mysqldump -u 用戶名 -p -d --add-drop-table 數據庫名 > 導出的文件名
-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table
mysqldump -h localhost -u root -pupkiller -d --add-drop-table mysql > table.sql
7,增加一個用戶對數據庫所有權(該用戶對該數據庫的權限,即數據庫所有者):
create database cacti;
grant all on cacti.* to cacti@localhost identified by 'upkiller'; //對該數據庫全部權限
flush privileges; //立即生效
//部份權限,insert,select,delete,update,drop,create
grant insert,select,delete,update on cacti.* to cacti@localhost identified by 'upkiller';
//創建一個超級用戶test1
grant allprivileges on *.* to test1@localhost identified by '123456' with grant option;
//創建一個隻能查詢的用戶test2
grant select on *.* to test2@localhost identified by '9876543';
8,刪除一個用戶upkiller對數據庫的權限:
revoke all on *.* from upkiller@localhost; #注意隻是撤消權限,還需要刪除用戶
user mysql; #刪除用戶
delete from user where user='upkiller' and host='localhost';
flush privileges;
9,修改mysql數據庫名稱:
改庫名好像沒有這個命令,可以把原庫倒出來然後恢複到新庫裏
10,改變表名
Alter TABLE `原表名` RENAME TO `新表名`;
11,web與數據庫分離時加快連接速度:
vi /etc/my.cnf
在mysqld段加入:skip-name-resolve
12,讓mysql不區分表名的大小寫:
在mysqld段加入:lower_case_table_names=1
最後更新:2017-04-02 17:09:28