首先須要將mysql的bin目錄設置到環境變量path中。而後登陸CMD 輸入命令鏈接服務器上的mysql. mysql
當表中存在中文的時候須要設置mysql的編碼格式,方法是 : set names gbk; web
鏈接:mysql -h主機地址 -u用戶名 -p用戶密碼 (注:u與root能夠不用加空格,其它也同樣)
斷開:exit (回車)
建立受權:grant select on 數據庫.* to 用戶名@登陸主機 identified by \"密碼\"
修改密碼:mysqladmin -u用戶名 -p舊密碼 password 新密碼
刪除受權: revoke select,insert,update,delete om *.* from test2@localhost ;
顯示數據庫:show databases;
顯示數據表:show tables;
顯示錶結構:describe 表名;
建立庫:create database 庫名;
刪除庫:drop database 庫名;
使用庫:use 庫名;
建立表:create table 表名 (字段設定列表);
刪除表:drop table 表名;
修改表:alter table t1 rename t2
查詢表:select * from 表名;
清空表:delete from 表名;
備份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasename tablename > tablename.sql
恢復表: mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql(操做前先把原來表刪除)
增長列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
刪除列:ALTER TABLE t2 DROP COLUMN c;
備份數據庫:mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename > database.sql
恢復數據庫:mysql\bin\mysql -h(ip) -uroot -p(password) databasename < database.sql
複製數據庫:mysql\bin\mysqldump --all-databases > all-databases.sql
修復數據庫:mysqlcheck -A -o -uroot -p54safer
文本數據導入: load data local infile \"文件名\" into table 表名;
數據導入導出:mysql\bin\mysqlimport database tables.txt sql
第一招、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 ""; app
第四招: 操做數據庫
登陸到mysql中,而後在mysql的提示符下運行下列命令,每一個命令以分號結束。
一、 顯示數據庫列表。
show databases;
缺省有兩個數據庫:mysql和test。 mysql庫存放着mysql的系統和用戶權限信息,咱們改密碼和新增用戶,實際上就是對這個庫進行操做。
二、 顯示庫中的數據表:
use mysql;
show tables;
三、 顯示數據表的結構:
describe 表名;
四、 建庫與刪庫:
create database 庫名;
drop database 庫名;
五、 建表:
use 庫名;
create table 表名(字段列表);
drop table 表名;
六、 清空表中記錄:
delete from 表名;
七、 顯示錶中的記錄:
select * from 表名; ide
第五招、導出和導入數據
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:二、建立一個數據庫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'; 13:備份數據庫mysqldump -u root 庫名>xxx.data14: 編碼
例2:鏈接到遠程主機上的MYSQL
假設遠程主機的IP爲:110.110.110.110,用戶名爲root,密碼爲abcd123。則鍵入如下命令: spa
mysql -h110.110.110.110 -uroot -pabcd123 .net
(注:u與root能夠不用加空格,其它也同樣)
三、退出MYSQL命令: exit
一) 鏈接MYSQL:
格式: mysql -h主機地址 -u用戶名 -p用戶密碼
一、例1:鏈接到本機上的MYSQL
首先在打開DOS窗口,而後進入mysql安裝目錄下的bin目錄下,例如: D:\mysql\bin,再鍵入命令mysql -uroot -p,回車後提示你輸密碼,若是剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車便可進入到MYSQL中了,MYSQL的提示符 是:mysql>
二、例2:鏈接到遠程主機上的MYSQL
假設遠程主機的IP爲:10.0.0.1,用戶名爲root,密碼爲123。則鍵入如下命令:
mysql -h10.0.0.1 -uroot -p123
(注:u與root能夠不用加空格,其它也同樣)
三、退出MYSQL命令
exit (回車)
(二) 修改密碼:
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
一、例1:給root加個密碼123。首先在DOS下進入目錄C:\mysql\bin,而後鍵入如下命令:
mysqladmin -uroot -password 123
注:由於開始時root沒有密碼,因此-p舊密碼一項就能夠省略了。
二、例2:再將root的密碼改成456
mysqladmin -uroot -pab12 password 456
(三) 增長新用戶:(注意:和上面不一樣,下面的由於是MYSQL環境中的命令,因此後面都帶一個分號做爲命令結束符)
格式:grant select on 數據庫.* to 用戶名@登陸主機 identified by "密碼"
例一、增長一個用戶test1密碼爲abc,讓他能夠在任何主機上登陸,並對全部數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,而後鍵入如下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增長的用戶是十分危險的,你想如某我的知道test1的密碼,那麼他就能夠在internet上的任何一臺電腦上登陸你的mysql數據庫並對你的數據能夠隨心所欲了,解決辦法見例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 "";
(四) 顯示命令
一、顯示數據庫列表:
show databases;
剛開始時才兩個數據庫:mysql和test。mysql庫很重要它裏面有MYSQL的系統信息,咱們改密碼和新增用戶,實際上就是用這個庫進行操做。
二、顯示庫中的數據表:
use mysql; //打開庫
show tables;
三、顯示數據表的結構:
describe 表名;
四、建庫:
create database 庫名;
五、建表:
use 庫名;
create table 表名 (字段設定列表);
六、刪庫和刪表:
drop database 庫名;
drop table 表名;
七、將表中記錄清空:
delete from 表名;
八、顯示錶中的記錄:
select * from 表名;
MySQL導入導出命令
1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個數據庫結構
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數據 --add-drop-table 在每一個create語句以前增長一個drop table
4.導入數據庫
經常使用source 命令
進入mysql數據庫控制檯,
如mysql -u root -p
mysql>use 數據庫
而後使用source命令,後面參數爲腳本文件(如這裏用到的.sql)
mysql>source d:wcnc_db.sql (注:若是寫成source d:\wcnc_db.sql,就會報語法
使用load data 批量導入數據,這種作法能夠瞬間導入數據,用處很是大!
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS 字段操做,設置每一個字段的分隔符
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES 行操做,從某一個字符開始,到某個字符
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES] 行操做,忽略某行
[(col_name_or_user_var,...)] 字段操做,寫入的字段與數據對應
[SET col_name = expr,...)]
示例:load data infile '/test/test.file' into table 'test' fields terminated by "\t" (fieldsOne,fieldsTwo);
意思是, 載入/test/test.file 到表test中,使用\t分割字段,寫入fieldsOne和fieldsTwo中,默認以換行符做爲一個行分割!