mysql史上最全最簡單命令行添加用戶、修改權限,修改登錄權限IP等基本操作

1、添加用戶

1.1 登錄MYSQL:

  @>mysql -u root -p

  @>密碼

創建用戶:

  	格式:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  	username – 你將創建的用戶名說明:

	host – 指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,  如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
	例子:
	CREATE USER 'javacui'@'localhost' IDENTIFIED BY '123456'; 
 
	CREATE USER 'javacui'@'172.20.0.0/255.255.0.0' IDENDIFIED BY '123456'; 
	 
	CREATE USER 'javacui'@'%' IDENTIFIED BY '123456'; 
	 
	CREATE USER 'javacui'@'%' IDENTIFIED BY ''; 
	 
	CREATE USER 'javacui'@'%';
	
	password –  該用戶的登陸密碼,密碼可以爲空,如果爲空則該用戶可以不需要密碼登 陸服務器

授權(必須先創建用戶才能再授權,直接授權會報錯)

    格式:GRANT privileges ON databasename.tablename TO 'username'@'host';

privileges – 用戶的操作權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最後面).如果要授予所 的權限則使用ALL說明:

databasename – 數據庫名

tablename - 表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用* 表示, 如*.*

舉例:

	授權SELECT,INSERT
   GRANT SELECT, INSERT ON test.user TO 'javacui'@'%'; 
   
   授權查詢、插入、修改、刪除的權限
   GRANT SELECT, INSERT, UPDATE, DELETE ON test.user TO 'javacui'@'%'; 
   
 	授權全部權限ALL
	GRANT ALL ON *.* TO 'javacui'@'%';
	
    FLUSH PRIVILEGES;
    
  #注意:此處的"localhost",是指該用戶只能在本地登錄,不能在另外一臺機器上遠程登錄。  
  #如果想遠程登錄的話,將"localhost"改爲"%",  
  #表示在任何一臺電腦上都可以登錄。也可以指定某臺機器可以遠程登錄。

注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

撤銷用戶權限

REVOKE privileges ON databasename.tablename FROM 'username'@'host';

例子說明: privilege, databasename, tablename – 同授權部分

REVOKE SELECT ON *.* FROM 'javacui'@'%';

2、修改密碼

方法一:
設置與更改用戶密碼

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是當前登陸用戶用

SET PASSWORD = PASSWORD("newpassword");

方法二:

UPDATE直接編輯user表

  mysql -u root -p 密碼

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;


在丟失root密碼的時候,可以這樣

  mysqld_safe --skip-grant-tables&

  mysql -u root -p 
  
  mysql> use mysql;

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;

3、修改登錄的ip,讓那個ip可以登錄

方法一:

改表法。

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"

mysql -u root -p

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

方法二:

授權法。

例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允許用戶myuser從ip爲192.168.1.6的主機連接到mysql服務器,並使用mypassword作爲密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允許用戶myuser從ip爲192.168.1.6的主機連接到mysql服務器的dk數據庫,並使用mypassword作爲密碼

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

修改登錄的ip更多請參考數據庫可以遠程連接或者說用IP地址可以訪問

4. 刪除用戶

  @>mysql -u root -p

  @>密碼

   mysql>Delete FROM user Where User='test' and Host='localhost';

   mysql>flush privileges;

   mysql>drop database testDB; //刪除用戶的數據庫

刪除賬戶及權限:
		 >drop user 用戶名@'%';

      >drop user 用戶名@ localhost; 

5. 列出所有數據庫

  mysql>show database;

6. 切換數據庫

	mysql>use '數據庫名';

7. 列出所有表

  mysql>show tables;

8. 顯示數據表結構

  mysql>describe 表名;

9. 刪除數據庫和數據表

  mysql>drop database 數據庫名;

  mysql>drop table 數據表名;

10.表操作

建表

   備註:操作之前使用“use <數據庫名>”應連接某個數據庫。
  命令:create table <表名> (<字段名 1> <類型 1> [,..<字段名 n> <類型 n>]);
  例子:
  mysql> create table MyClass(                 
  > id int(4) not null primary key auto_increment,      
  > name char(20) not null,               
  > sex int(4) not null default '0',            
  > degree double(16,2));               

獲取表結構

  命令: desc 表名,或者show columns from 表名
  例子:
  mysql> describe MyClass        
  mysql> desc MyClass;             
  mysql> show columns from MyClass;     

刪除表

  命令:drop table <表名>
  例如:刪除表名爲 MyClass 的表
  mysql> drop table MyClass;

插入數據

  命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values (1 )[, ( 值 n )]
  例子:
  mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

查詢表中的數據

 查詢所有行
  mysql> select * from MyClass;

查詢前幾行數據

  例如:查看錶 MyClass 中前 2 行數據
  mysql> select * from MyClass order by id limit 0,2;
  或者
  mysql> select * from MyClass limit 0,2;

刪除表中數據

  命令:delete from 表名 where 表達式
  例如:刪除表 MyClass 中編號爲 1 的記錄
  mysql> delete from MyClass where id=1;

修改表中數據

  命令:update 表名 set 字段=新值,... where 條件
  mysql> update MyClass set name='Mary' where id=1;

在表中增加字段

  命令:alter table 表名 add 字段 類型 其他;
  例如:在表 MyClass 中添加了一個字段 passtest,類型爲 int(4),默認值爲 0
  mysql> alter table MyClass add passtest int(4) default '0'

更改表名

  命令:rename table 原表名 to 新表名;
  例如:在表 MyClass 名字更改爲 YouClass
  mysql> rename table MyClass to YouClass;

更新字段內容

  命令:update 表名 set 字段名 = 新內容
  update 表名 set 字段名 = replace(字段名, '舊內容', '新內容');
  例如:文章前面加入 4 個空格
  update article set content=concat('    ', content);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章