MySQL 常用命令

*************************************************************************

 

(一)連接MYSQL:

   格式: mysql -h主機地址 -u用戶名 -p用戶密碼 


1、例1:連接到本機上的MYSQL

   首先在打開DOS窗口,然後進入mysql安裝目錄下的bin目錄下,例如: D:/mysql/bin,再鍵入命令mysql -uroot -p,回車後提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql> 

2、例2:連接到遠程主機上的MYSQL

   假設遠程主機的IP爲:10.0.0.1,用戶名爲root,密碼爲123。則鍵入以下命令:
   mysql -h10.0.0.1 -uroot -p123 
  (注:u與root可以不用加空格,其它也一樣) 

3、退出MYSQL命令

   exit (回車) 

 

(二) 修改密碼:

   格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼 

1、例1:給root加個密碼123。首先在DOS下進入目錄C:/mysql/bin,然後鍵入以下命令:

   mysqladmin -uroot -password 123 
   注:因爲開始時root沒有密碼,所以-p舊密碼一項就可以省略了。 

2、例2:再將root的密碼改爲456

   mysqladmin -uroot -pab12 password 456 

(三) 增加新用戶:(注意:和上面不同,下面的因爲是MYSQL環境中的命令,所以後面都帶一個分號作爲命令結束符)

   格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼" 
   例1、增加一個用戶test1密碼爲abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令: 
   grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

   但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一臺電腦上登錄你的mysql數據庫並對你的數據可以爲所欲爲了,解決辦法見例2。 
   例2、增加一個用戶test2密碼爲abc,讓他只可以在localhost上登錄,並可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那臺主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過MYSQL主機上的web頁來訪問了。 
   grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 
   如果你不想test2有密碼,可以再打一個命令將密碼消掉。 
   grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 

(四) 顯示命令

1、顯示數據庫列表:

   show databases; 
   剛開始時才兩個數據庫:mysql和test。mysql庫很重要它裏面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。 

2、顯示庫中的數據表:

   use mysql; //打開庫
   show tables; 

3、顯示數據表的結構:

   describe 表名; 

4、建庫:

   create database 庫名; 

5、建表:

   use 庫名; 
   create table 表名 (字段設定列表); 

6、刪庫和刪表:

   drop database 庫名; 
   drop table 表名; 

7、將表中記錄清空:

   delete from 表名; 

8、顯示錶中的記錄:

   select * from 表名;
*************************************************************************

1、MySQL常用命令

create database name; 創建數據庫

use databasename; 選擇數據庫

drop database name 直接刪除數據庫,不提醒

show tables; 顯示錶

describe tablename; 表的詳細描述

select 中加上distinct去除重複字段

mysqladmin drop databasename 刪除數據庫前,有提示。

顯示當前mysql版本和當前日期

select version(),current_date;

2、修改mysql中root的密碼:

shell>mysql -u root -p

mysql> update user set password=password(”xueok654123″) where user=’root’;

mysql> flush privileges //刷新數據庫

mysql>use dbname; 打開數據庫:

mysql>show databases; 顯示所有數據庫

mysql>show tables; 顯示數據庫mysql中所有的表:先use mysql;然後

mysql>describe user; 顯示錶mysql數據庫中user表的列信息);

3、grant

創建一個可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令something做這個

mysql> grant all privileges on *.* to user@localhost identified by ’something’ with

增加新用戶

格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by “密碼”

GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;

刪除授權:

mysql> revoke all privileges on *.* from root@”%”;

mysql> delete from user where user=”root” and host=”%”;

mysql> flush privileges;

創建一個用戶custom在特定客戶端it363.com登錄,可訪問特定數據庫fangchandb

mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’

重命名錶:

mysql > alter table t1 rename t2;

4、mysqldump

備份數據庫

shell> mysqldump -h host -u root -p dbname >dbname_backup.sql

恢復數據庫

shell> mysqladmin -h myhost -u root -p create dbname

shell> mysqldump -h host -u root -p dbname < dbname_backup.sql

如果只想卸出建表指令,則命令如下:

shell> mysqladmin -u root -p -d databasename > a.sql

如果只想卸出插入數據的sql命令,而不需要建表命令,則命令如下:

shell> mysqladmin -u root -p -t databasename > a.sql

那麼如果我只想要數據,而不想要什麼sql命令時,應該如何操作呢?

   mysqldump -T./ phptest driver

其中,只有指定了-T參數纔可以卸出純文本文件,表示卸出數據的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定driver 表,則將卸出整個數據庫的數據。每個表會生成兩個文件,一個爲.sql文件,包含建表執行。另一個爲.txt文件,只包含數據,且沒有sql指令。

5、可將查詢存儲在一個文件中並告訴mysql從文件中讀取查詢而不是等待鍵盤輸入。可利用外殼程序鍵入重定向實用程序來完成這項工作。例如,如果在文件my_file.sql 中存放有查

詢,可如下執行這些查詢:

例如,如果您想將建表語句提前寫在sql.txt中:

mysql > mysql -h myhost -u root -p database < sql.txt

 

 

 

*************************************************************************

 

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

mysql> SHOW DATABASES;

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';     以下是無意中在網絡看到的使用MySql的管理心得, 摘自:http://www1.xjtusky.com/article/htmldata/2004_12/3/57/article_1060_1.html     在windows中MySql以服務形式存在,在使用前應確保此服務已經啓動,未啓動可用net start mysql命令啓動。而Linux中啓動時可用“/etc/rc.d/init.d/mysqld start"命令,注意啓動者應具有管理員權限。 剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對於一些重要的應用我們應將安全性儘可能提高,在這裏應把匿名帳戶刪除、 root帳戶設置密碼,可用如下命令進行: use mysql; delete from User where User=""; update User set Password=PASSWORD('newpassword') where User='root'; 如果要對用戶所用的登錄終端進行限制,可以更新User表中相應用戶的Host字段,在進行了以上更改後應重新啓動數據庫服務,此時登錄時可用如下類似命令: mysql -uroot -p; mysql -uroot -pnewpassword; mysql mydb -uroot -p; mysql mydb -uroot -pnewpassword; 上面命令參數是常用參數的一部分,詳細情況可參考文檔。此處的mydb是要登錄的數據庫的名稱。 在進行開發和實際應用中,用戶不應該只用root用戶進行連接數據庫,雖然使用root用戶進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理技術的提高。我們給一個應用中使用的用戶賦予最恰當的數據庫權限。如一個只進行數據插入的用戶不應賦予其刪除數據的權限。MySql的用戶管理是通過 User表來實現的,添加新用戶常用的方法有兩個,一是在User表插入相應的數據行,同時設置相應的權限;二是通過GRANT命令創建具有某種權限的用戶。其中GRANT的常用用法如下: grant all on mydb.* to NewUserName@HostName identified by "password" ; grant usage on *.* to NewUserName@HostName identified by "password"; grant select,insert,update on mydb.* to NewUserName@HostName identified by "password"; grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password"; 若要給此用戶賦予他在相應對象上的權限的管理能力,可在GRANT後面添加WITH GRANT OPTION選項。而對於用插入User表添加的用戶,Password字段應用PASSWORD 函數進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的用戶應給予清除,權限過界的用戶應及時回收權限,回收權限可以通過更新User表相應字段,也可以使用REVOKE操作。 下面給出本人從其它資料(www.cn-java.com)獲得的對常用權限的解釋: 全局管理權限: FILE: 在MySQL服務器上讀寫文件。 PROCESS: 顯示或殺死屬於其它用戶的服務線程。 RELOAD: 重載訪問控制表,刷新日誌等。 SHUTDOWN: 關閉MySQL服務。 數據庫/數據表/數據列權限: ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。 CREATE: 建立新的數據庫或數據表。 DELETE: 刪除表的記錄。 DROP: 刪除數據表或數據庫。 INDEX: 建立或刪除索引。 INSERT: 增加表的記錄。 SELECT: 顯示/搜索表的記錄。 UPDATE: 修改表中已存在的記錄。 特別的權限: ALL: 允許做任何事(和root一樣)。 USAGE: 只允許登錄--其它什麼也不允許做。 

 

 

 

歡迎訪問:樂園www.ly8.co

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章