IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)數(shù)據(jù)庫(kù)MYSQL → Linux操作系統(tǒng)下MySQL數(shù)據(jù)庫(kù)的使用方法

Linux操作系統(tǒng)下MySQL數(shù)據(jù)庫(kù)的使用方法

時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

一、連接mysql

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

1、例1:連接到本機(jī)上的MYSQL。

首先在打開(kāi)DOS窗口,然后進(jìn)入目錄 mysqlbin,再鍵入命令mysql -uroot -p,回車(chē)后提示你輸密碼,如果剛安裝好MYSQL,超級(jí)用戶root是沒(méi)有密碼的,故直接回車(chē)即可進(jìn)入到MYSQL中了,MYSQL的提示符是:

mysql>

2、例2:連接到遠(yuǎn)程主機(jī)上的MYSQL。假設(shè)遠(yuǎn)程主機(jī)的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123(注:u與root可以不用加空格,其它也一樣)

3、退出MYSQL命令: exit (回車(chē))

二、修改密碼:

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

1、例1:給root加個(gè)密碼ab12。首先在DOS下進(jìn)入目錄mysqlbin,然后鍵入以下命令

mysqladmin -uroot -password ab12

注:因?yàn)殚_(kāi)始時(shí)root沒(méi)有密碼,所以-p舊密碼一項(xiàng)就可以省略了。

2、例2:再將root的密碼改為djg345。

mysqladmin -uroot -pab12 password djg345

三、增加新用戶:

(注意:和上面不同,下面的因?yàn)槭荕YSQL環(huán)境中的命令,所以后面都帶一個(gè)分號(hào)作為命令結(jié)束符)

格式:grant select on 數(shù)據(jù)庫(kù).* to 用戶名@登錄主機(jī) identified by "密碼"

例1、增加一個(gè)用戶test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫(kù)有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入MYSQL,然后鍵入以下命令:

grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";

但例1增加的用戶是十分危險(xiǎn)的,你想如某個(gè)人知道test1的密碼,那么他就可以在internet上的任何一臺(tái)電腦上登錄你的mysql數(shù)據(jù)庫(kù)并對(duì)你的數(shù)據(jù)可以為所欲為了,解決辦法見(jiàn)例2。

例2、增加一個(gè)用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對(duì)數(shù)據(jù)庫(kù)mydb進(jìn)行查詢、插入、修改、刪除的操作(localhost指本地主機(jī),即MYSQL數(shù)據(jù)庫(kù)所在的那臺(tái)主機(jī)),這樣用戶即使用知道test2的密碼,他也無(wú)法從internet上直接訪問(wèn)數(shù)據(jù)庫(kù),只能通過(guò)MYSQL主機(jī)上的web頁(yè)來(lái)訪問(wèn)了。

grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";

如果你不想test2有密碼,可以再打一個(gè)命令將密碼消掉。

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

四、顯示命令

1、顯示數(shù)據(jù)庫(kù)列表:

show databases;

剛開(kāi)始時(shí)才兩個(gè)數(shù)據(jù)庫(kù):mysql和test。mysql庫(kù)很重要它里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶,實(shí)際上就是用這個(gè)庫(kù)進(jìn)行操作。

2、顯示庫(kù)中的數(shù)據(jù)表:

use mysql; //打開(kāi)庫(kù),學(xué)過(guò)FOXBASE的一定不會(huì)陌生吧

show tables;

3、顯示數(shù)據(jù)表的結(jié)構(gòu):

describe 表名;

4、建庫(kù):

create database 庫(kù)名;

5、建表:

use 庫(kù)名;

create table 表名 (字段設(shè)定列表);

6、刪庫(kù)和刪表:

drop database 庫(kù)名;

drop table 表名;

7、將表中記錄清空:

delete from 表名;

8、顯示表中的記錄:

select * from 表名;

五、一個(gè)建庫(kù)和建表以及插入數(shù)據(jù)的實(shí)例

create database school; //建立庫(kù)SCHOOL

use school; //打開(kāi)庫(kù)SCHOOL

create table teacher //建立表TEACHER

(

id int(3) auto_increment not null primary key, //id設(shè)置為主關(guān)鍵字,并自動(dòng)設(shè)值,也就是添加的時(shí)候,你不必向ID字段寫(xiě)內(nèi)容

name char(10) not null,

address varchar(50) default '深圳', //設(shè)置默值為深圳

year date

); //建表結(jié)束

//以下為插入字段

insert into teacher values('','glchengang','深圳一中','1976-10-10'); //ID不用寫(xiě)內(nèi)容

insert into teacher values('','jack','深圳一中','1975-12-23');

六 、修改數(shù)據(jù)庫(kù)結(jié)構(gòu)

1、增加字段

alter table dbname add column <字段名><字段選項(xiàng)>

2、修改字段

alter table dbname change <舊字段名> <新字段名><選項(xiàng)>

3、刪除字段

alter table dbname drop column <字段名>

現(xiàn)在使用MySQL的越來(lái)越多了,我也用它做了自已的留言板。在使用過(guò)程中,慢慢地就要求對(duì)它的管理功能需要近一步的掌握,不僅是我,也是很多網(wǎng)友的要求。現(xiàn)在有一些問(wèn)題是關(guān)于如何從MySQL中導(dǎo)出數(shù)據(jù),以便用在本地或其它的數(shù)據(jù)庫(kù)系統(tǒng)之上;以及 將現(xiàn)有數(shù)據(jù)導(dǎo)入MySQL數(shù)據(jù)庫(kù)中。現(xiàn)在就我學(xué)習(xí)的情況,就這兩個(gè)問(wèn)題作一下小結(jié),內(nèi)容不是很詳細(xì)。其實(shí)MySQL的手冊(cè)是很詳細(xì)的,只不過(guò)我把有關(guān)這兩方面的東西提取出來(lái),加上了一點(diǎn)自已的理解,更詳細(xì)的請(qǐng)看數(shù)據(jù)庫(kù)的相應(yīng)章節(jié)。

數(shù)據(jù)導(dǎo)出

數(shù)據(jù)導(dǎo)出主要有以下幾種方法:

使用select into outfile "filename"語(yǔ)句

使用mysqldump實(shí)用程序

使用select into outfile "filename"語(yǔ)句

可以在mysql的命令行下或在php程序中執(zhí)行它。我下面以在mysql命令行下為例。在php中使用時(shí),將其改成相應(yīng)的查詢進(jìn)行處理即可。不過(guò)在使用這個(gè)命令時(shí),要求用戶擁有file的權(quán)限。如我們有一個(gè)庫(kù)為phptest,其中有一個(gè)表為driver,F(xiàn)在要把driver卸成文件。執(zhí)行命令:

mysql> use phptest;

Database Changed

mysql> select * from driver into outfile "a.txt";

Query OK, 22 rows affected (0.05 sec)

上面就可以完成將表driver從數(shù)據(jù)庫(kù)中卸到a.txt文件中。注意文件名要加單引號(hào)。那么這個(gè)文件在哪呢?在mysql目錄下有一個(gè)data目錄,它即是數(shù)據(jù)庫(kù)文件所放的地方。每個(gè)庫(kù)在單獨(dú)占一個(gè)子目錄,所以phptest的目錄為c:\mysql\data\phptest(注意:我的mysql安裝在c:\mysql下)。好,現(xiàn)在我們進(jìn)去,a.txt就是它。打開(kāi)這個(gè)文件,可能是:

1 Mika Hakinnen 1

2 David Coulthard 1

3 Michael Schumacher 2

4 Rubens Barrichello 2

...

可能還有很多記錄。每個(gè)字段之間是用制表符分開(kāi)的(\t)。那么我們可以修改輸出文件名的目錄,以便放在指定的位置。如"a.txt"可以改成"./a.txt"或"/a.txt"。其中"./a.txt"放在c:\mysql\data目錄下了,而"/a.txt"文件則放在c:\目錄下了。所以select命令認(rèn)為的當(dāng)前目錄是數(shù)據(jù)庫(kù)的存放目錄,這里是c:\mysql\data。

使用select命令還可以指定卸出文件時(shí),字段之間的分隔字符,轉(zhuǎn)義字符,包括字符,及記錄行分隔字符。列在下面:

FIELDS

TERMINATED BY "\t"

[OPTIONALLY] ENCLOSED BY ""

ESCAPED BY "\"

LINES

TERMINATED BY "\n"

TERMINATED 表示字段分隔

[OPTIONALLY] ENCLOSED 表示字段用什么字符包括起來(lái),如果使用了OPTIONALLY則只有CHAR和VERCHAR被包括ESCAPED 表示當(dāng)需要轉(zhuǎn)義時(shí)用什么作為轉(zhuǎn)義字符LINES TERMINATED 表示每行記錄之間用什么分隔上面列的是缺省值,而且這些項(xiàng)都是可選的,不選則使用缺省值。可以根據(jù)需要進(jìn)行修改。給出一個(gè)例子如下:

mysql> select * from driver into outfile "a.txt" fields terminated by ","

enclosed by """;

Query OK, 22 rows affected (0.06 sec)

結(jié)果可能如下:

"1","Mika","Hakinnen","1"

"2","David","Coulthard","1"

"3","Michael","Schumacher","2"

"4","Rubens","Barrichello","2"

...

可以看到每個(gè)字段都用","進(jìn)行了分隔,且每個(gè)字段都用"""包括了起來(lái)。注意,行記錄分隔符可以是一個(gè)字符串,請(qǐng)大家自行測(cè)試。不過(guò),如果輸出文件在指定目錄下如果存在的話就會(huì)報(bào)錯(cuò),先刪除再測(cè)試即可。

使用mysqldump實(shí)用程序

從上面的select方法可以看出,輸出的文件只有數(shù)據(jù),而沒(méi)有表結(jié)構(gòu)。而且,一次只能處理一個(gè)表,要處理多個(gè)表則不是很容易的。不過(guò)可以將select命令寫(xiě)入一個(gè)sql 文件(復(fù)制文本應(yīng)該是很容易的吧),然后在命令行下執(zhí)行即可:mysql 庫(kù)名先來(lái)個(gè)最簡(jiǎn)單的吧:

mysqldump phptest > a.sql

可能結(jié)果如下:

# MySQL dump 7.1

#

# Host: localhost Database: phptest

#--------------------------------------------------------

# Server version 3.22.32-shareware-debug

#

# Table structure for table "driver"

#

CREATE TABLE driver (

drv_id int(11) DEFAULT "0" NOT NULL auto_increment,

drv_forename varchar(15) DEFAULT "" NOT NULL,

drv_surname varchar(25) DEFAULT "" NOT NULL,

drv_team int(11) DEFAULT "0" NOT NULL,

PRIMARY KEY (drv_id)

);

#

# Dumping data for table "driver"

#

INSERT INTO driver VALUES (1,"Mika","Hakinnen",1);

關(guān)鍵詞標(biāo)簽:Linux,操作系統(tǒng),MySQL

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦MySQL常用維護(hù)管理工具MySQL常用維護(hù)管理工具Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)MySQL復(fù)制的概述、安裝、故障、技巧、工具MySQL復(fù)制的概述、安裝、故障、技巧、工具

相關(guān)下載

人氣排行 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)Mysql 1045錯(cuò)誤解決辦法10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法MySQL導(dǎo)出導(dǎo)入命令的用例MySQL無(wú)法啟動(dòng)、無(wú)法停止各種解決方法總結(jié)三種常用的MySQL建表語(yǔ)句Mysql清空表的實(shí)現(xiàn)方法