程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL權限分配

MySQL權限分配

編輯:關於MYSQL數據庫
 第一招、MySQL服務的啟動和停止

  net stop MySQL

  net start MySQL

  第二招、登陸MySQL

  語法如下: MySQL -u用戶名 -p用戶密碼

  鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,MySQL的提示符是:

  MySQL>

  注意,如果是連接到另外的機器上,則需要加入一個參數-h機器IP

  第三招、增加新用戶

  格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identifIEd by "密碼"

  如,增加一個用戶user1密碼為passWord1,讓其可以在本機上登錄, 並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MySQL,然後鍵入以下命令:

  grant select,insert,update,delete on *.* to user1@localhost IdentifIEd by "passWord1";

  如果希望該用戶能夠在任何機器上登陸MySQL,則將localhost改為"%"。

  如果你不想user1有密碼,可以再打一個命令將密碼去掉。

  grant select,insert,update,delete on mydb.* to user1@localhost identifIEd by "";

  第四招: 操作數據庫

  登錄到mysql中,然後在MySQL的提示符下運行下列命令,每個命令以分號結束。

  1、 顯示數據庫列表。

  show databases;

  缺省有兩個數據庫:mysql和test。 mysql庫存放著MySQL的系統和用戶權限信息,我們改密碼和新增用戶,實際上就是對這個庫進行操作。

  2、 顯示庫中的數據表:

  use MySQL;

  show tables;

  3、 顯示數據表的結構:

  describe 表名;

  4、 建庫與刪庫:

  create database 庫名;

  drop database 庫名;

  5、 建表:

  use 庫名;

  create table 表名(字段列表);

  drop table 表名;

  6、 清空表中記錄:

  delete from 表名;

  7、 顯示表中的記錄:

  select * from 表名;

  第五招、導出和導入數據

  1. 導出數據:

  mysqldump --opt test > MySQL.test

  即將數據庫test數據庫導出到MySQL.test文件,後者是一個文本文件

  如:mysqldump -u root -p123456 --databases dbname > MySQL.dbname

  就是把數據庫dbname導出到文件MySQL.dbname中。

  2. 導入數據:

  mysqlimport -u root -p123456 < MySQL.dbname。

  不用解釋了吧。

  3. 將文本數據導入數據庫:

  文本數據的字段數據之間用tab鍵隔開。

  use test;

  load data local infile "文件名" into table 表名;

  1:使用SHOW語句找出在服務器上當前存在什麼數據庫:

  MySQL> SHOW DATABASES;

  2:2、創建一個數據庫MySQLDATA

  mysql> CREATE DATABASE MySQLDATA;

  3:選擇你所創建的數據庫

  mysql> USE MySQLDATA; (按回車鍵出現Database changed 時說明操作成功!)

  4:查看現在的數據庫中存在什麼表

  MySQL> SHOW TABLES;

  5:創建一個數據庫表

  MySQL> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

  6:顯示表的結構:

  MySQL> DESCRIBE MYTABLE;

  7:往表中加入記錄

  MySQL> insert into MYTABLE values ("hyq","M");

  8:用文本方式將數據裝入數據庫表中(例如D:/MySQL.txt)

  mysql> LOAD DATA LOCAL INFILE "D:/MySQL.txt" INTO TABLE MYTABLE;

  9:導入.sql文件命令(例如D:/MySQL.sql)

  MySQL>use database;

  mysql>source d:/MySQL.sql;

  10:刪除表

  MySQL>drop TABLE MYTABLE;

  11:清空表

  MySQL>delete from MYTABLE;

  12:更新表中數據

  MySQL>update MYTABLE set sex="f" where name='hyq';

  posted on 2006-01-10 16:21 happytian 閱讀(6) 評論(0) 編輯 收藏 收藏至365Key

  13:備份數據庫

  MySQLdump -u root 庫名>xxx.data

  14:例2:連接到遠程主機上的MySQL

  假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:

  MySQL -h110.110.110.110 -uroot -pabcd123

  (注:u與root可以不用加空格,其它也一樣)

  3、退出MySQL命令: exit (回車)

  ===========================================

  MySQL的權限系統圍繞著兩個概念:

  1:認證->確定用戶是否允許連接數據庫服務器

  2:授權->確定用戶是否擁有足夠的權限執行查詢請求等。

  顯然從上面可知,如果認證不成功的話,哪麼授權肯定是無法進行的。在這裡我們要關注兩個表,分別是在MySQL數據庫中user表和db表。

  user表在某種程度上是獨一無二的,因為它是唯一一個在權限請求的認證和授權階段都起作用的表,也是唯一一個存數MySQL服務器相關權限的權限表。在認證階段,它只是負責為用戶授權訪問MySQL服務器,確定用戶每小時的最大連接數和最大並發數;在授權階段,user確定允許訪問服務器的用戶是否被賦予了操作數據庫的全局權限,確定用戶每小時的最大查詢數和更新數。

  db表用於為每個用戶針對每個數據庫賦予權限。具體的可以查看db的字段。

  用戶和權限管理命令:

  create user :用於創建新的用戶賬戶(從5.0版本開始有這個命令),在創建這個用戶的時候不分配任何權限,需要在創建之後通過grant命令來給改用戶分配相應的權限。

  eg:create user guest@localhost identifIEd by '123456';

  grant select on mydb.* to guest@localhost;

  drop user:刪除一個用戶賬戶(注意在4.1.1版本之前只能刪除沒有任何權限的賬戶,5.0.2之後可以刪除任何賬戶)

  eg:drop user guest;

  rename user:可以實現重命名一個用戶賬號。

  grant:用於管理訪問權限,也就是給用戶賬號授權。當然它同樣可以創建一個新的用戶賬戶。

  eg:grant select, insert, update, delete on new_db.* to guest@'%' identifIEd by '88888888';

  grant 權限 on 數據庫.表 to 用戶 @ 訪問方式 identifIEd by 密碼

  grant select on mydb.* to guest@localhost identifIEd by '123456';

  BTW:如果需要一個空密碼或者無密碼的賬戶,必須先用Create User命令,然後通過

  grant來分配權限。如果如下操作:

  grant all privileges on mydb.* to visitor@'%' ;而在數據庫user表中沒有先創建visitor

  用戶,則會發生1133錯誤"Can't find any matching row in the user table"。grant只能創

  有密碼的賬戶。

  revoke:刪除一個賬戶,具體查看MySQL的文檔。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved