一、添加用戶:
①登陸mysql:
@>mysql -u root -p
@>密碼
②創建用戶:
mysql> insert into mysql.user(Host,User,Password) values("localhost","xu",password("test1234"));
這樣就創建了一個名為:xu 密碼為:test1234 的用戶。
注意:此處的"localhost",是指該用戶只能在本地登錄,不能在另外一台機器上遠程登錄。如果想遠程登錄的話,將"localhost"改為"%",表示在任何一台電腦上都可以登 錄。也可以指定某台機器可以遠程登錄。
③然后登錄一下:
mysql>exit;
@>mysql -u xu -p
@>輸入密碼
mysql>登錄成功
二、為用戶授權
授權格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼";
①登錄MYSQL(有ROOT權限),這里以ROOT身份登錄:
@>mysql -u root -p
@>密碼
②首先為用戶創建一個數據庫(testDB):
mysql>create database testDB;
③授權test用戶擁有testDB數據庫的所有權限(某個數據庫的所有權限):
mysql>grant all privileges on testDB.* to xu@localhost identified by 'test1234';
mysql>flush privileges;//刷新系統權限表
格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼";
④如果想指定部分權限給一用戶,可以這樣來寫:
mysql>grant select,update on testDB.* to xu@localhost identified by '1234';
mysql>flush privileges; //刷新系統權限表
⑤授權test用戶擁有所有數據庫的某些權限:
mysql>grant select,delete,update,create,drop on *.* to xu@"%" identified by "test1234";
//test用戶對所有數據庫都有select,delete,update,create,drop 權限。
//@"%" 表示對所有非本地主機授權,不包括localhost。(localhost地址設為127.0.0.1,如果設為真實的本地地址,不知道是否可以,沒有驗證。)
//對localhost授權:加上一句grant all privileges on testDB.* to test@localhost identified by 'test1234';即可。
三、刪除用戶:
@>mysql -u root -p
@>密碼
mysql>Delete FROM user Where User='xu' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB; //刪除用戶的數據庫
刪除賬戶及權限:>drop user 用戶名@'%';
>drop user 用戶名@ localhost;
四、修改指定用戶密碼:
方法1: 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密碼');
方法2:用mysqladmin
mysqladmin -u root password "新密碼"
如果root已經設置過密碼,采用如下方法
mysqladmin -u root password oldpass "新密碼"
方法3: 用UPDATE直接編輯user表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('新密碼') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
在丟失root密碼的時候,可以這樣
mysqld_safe --skip-grant-tables&
mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("新密碼") WHERE user='root';
mysql> FLUSH PRIVILEGES;
五、列出所有數據庫:
mysql>show database;
六、切換數據庫:
mysql>use '數據庫名';
七、列出所有表:
mysql>show tables;
八、顯示數據表結構:
mysql>describe 表名;
九、刪除數據庫和數據表
mysql>drop database 數據庫名;
mysql>drop table 數據表名;
[原文出處:http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html]
