<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當前位置:首頁>軟件介紹>MySQL使用手冊 查詢:
               
          MySQL使用手冊

          1.1.1 登陸MYSQL

          登錄MySQL的命令是mysql, mysql 的使用語法如下:
          mysql [-u username] [-h host] [-p[password]] [dbname]
          username 與 password 分別是 MySQL 的用戶名與密碼,mysql的初始管理帳號是root,沒有密碼,注意:這個root用戶不是Linux的系統(tǒng)用戶。MySQL默認用戶是root,由于初始沒有密碼,第一次進時只需鍵入mysql即可。
          [root@test1 local]# mysql
          Welcome to the MySQL monitor.  Commands end with ; or g.

          Your MySQL connection id is 25338 to server version: 5.1.2-alpha-standard 

          Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
          mysql>
          出現(xiàn)了“mysql>”提示符。
          增加了密碼后的登錄格式如下:
          mysql -u root -p
          Enter password: (輸入密碼)
          其中-u后跟的是用戶名,-p要求輸入密碼,回車后在輸入密碼處輸入密碼。

          1.1.2 顯示數(shù)據(jù)庫和數(shù)據(jù)庫中的表

          mysql> show databases;

          +----------+

          | Database |

          +----------+

          | mysql |

          | test |

          +----------+

          2 rows in set (0.04 sec)

          Mysql剛安裝完有兩個數(shù)據(jù)庫:mysql和test。mysql庫非常重要,它里面有MySQL的系統(tǒng)信息,我們改密碼和新增用戶,實際上就是用這個庫中的相關(guān)表進行操作。
          mysql> use mysql; (打開庫,對每個庫進行操作就要打開此庫,類似于foxpro )
          Database changed

          mysql> show tables;
          +-----------------+
          | Tables_in_mysql |
          +-----------------+
          | columns_priv |
          | db |
          | func |
          | host |
          | tables_priv |
          | user |
          +-----------------+
          6 rows in set (0.01 sec)

          注意:MySQL中每個命令后都要以分號;結(jié)尾。

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

          describe 表名;

          1.1.4 顯示表中的記錄

          select * from 表名;

          例如:顯示mysql庫中user表中的紀錄。所有能對MySQL用戶操作的用戶都        在此表中。

          Select * from user;

          1.1.5 建庫

          create database 庫名;

          例如:創(chuàng)建一個名字位aaa的庫

          mysql> create database aaa;

          1.1.6 建表

          use 庫名;
          create table 表名 (字段設(shè)定列表);
          例如:在剛創(chuàng)建的aaa庫中建立表name,表中有id(序號,自動增長),xm(姓名),xb(性別),csny(出身年月)四個字段
          use aaa;
          mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
          可以用describe命令察看剛建立的表結(jié)構(gòu)。
          mysql> describe name;

          +-------+---------+------+-----+---------+----------------+
          | Field | Type | Null | Key | Default | Extra |
          +-------+---------+------+-----+---------+----------------+
          | id | int(3) | | PRI | NULL | auto_increment |
          | xm | char(8) | YES | | NULL | |
          | xb | char(2) | YES | | NULL | |
          | csny | date | YES | | NULL | |
          +-------+---------+------+-----+---------+----------------+

          1.1.7 增加記錄

          1.1.7.1 例如:增加幾條相關(guān)紀錄

          mysql> insert into name values('','張三','男','1971-10-01');
          mysql> insert into name values('','白云','女','1972-05-20');
          可用select命令來驗證結(jié)果。
          mysql> select * from name;
          +----+------+------+------------+
          | id | xm | xb | csny |
          +----+------+------+------------+
          | 1 | 張三 | 男 | 1971-10-01 |
          | 2 | 白云 | 女 | 1972-05-20 |
          +----+------+------+------------+

          1.1.8 將數(shù)據(jù)裝入表中

          創(chuàng)建表后,需要填入內(nèi)容。通過LOAD DATA和INSERT語句可以完成該任務(wù)。

          假定你的寵物紀錄描述如下。(假定在MySQL中期望的日期格式是YYYY-MM-DD;這可能與你習慣的不同。)

          name

          owner

          species

          sex

          Birth

          death

          Fluffy

          Harold

          Cat

          F

          1993-02-04


          Claws

          Gwen

          Cat

          M

          1994-03-17


          Buffy

          Harold

          dog

          F

          1989-05-13


          Fang

          Benny

          dog

          M

          1990-08-27


          Bowser

          Diane

          dog

          M

          1979-08-31

          1995-07-29

          Chirpy

          Gwen

          bird

          F

          1998-09-11


          Whistler

          Gwen

          bird


          1997-12-09


          Slim

          Benny

          snake

          M

          1996-04-29








          因為你是從一個空表開始的,填充它的一個簡易方法是創(chuàng)建一個文本文件,每個動物各一行,然后用一個語句將文件的內(nèi)容裝載到表中。

          你可以創(chuàng)建一個文本文件“pet.txt”,每行包含一個記錄,用定位符(tab)把值分開,并且以CREATE TABLE語句中列出的列次序給出。對于丟失的值(例如未知的性別,或仍然活著的動物的死亡日期),你可以使用NULL值。為了在你的文本文件中表示這些內(nèi)容,使用N(反斜線,字母N)。例如,Whistler鳥的記錄應(yīng)為(這里值之間的空白是一個定位符):

          name

          owner

          species

          sex

          birth

          death

          Whistler

          Gwen

          Bird

          N

          1997-12-09

          N







          想將文本文件“pet.txt”裝載到pet表中,使用這個命令:

          mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;

          請注意如果用Windows中的編輯器(使用 做為行的結(jié)束符)創(chuàng)建文件,應(yīng)使用:

          mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet

          -> LINES TERMINATED BY ' ';(在運行OS X的Apple機上,應(yīng)使用行結(jié)束符' '。)如果你愿意,你能明確地在LOAD DATA語句中指出列值的分隔符和行尾標記,但是默認標記是定位符和換行符。這對讀入文件“pet.txt”的語句已經(jīng)足夠。如果該語句失敗,可能是你安裝的MySQL不與使用默認值的本地文件兼容。(關(guān)于如何更改請參見MYSQL中文使用手冊5.6.4節(jié),“LOAD DATA LOCAL安全問題”。)

          1.1.9 修改紀錄

          例如:將張三的出生年月改為1971-01-10

          mysql> update name set csny='1971-01-10' where xm='張三';

          1.1.10 刪除紀錄

          例如:刪除張三的紀錄。

          mysql> delete from name where xm='張三';

          1.1.11 刪庫和刪表

          drop database 庫名;

          drop table 表名;

          1.1.12 增加MySQL用戶

          使用GRANT

          GRANT命令用來建立新用戶,指定用戶口令并增加用戶權(quán)限。其格式如下:

          mysql> GRANT   <privileges> ON <what>-> TO <user> [IDENTIFIED BY   "<password>"]-> [WITH GRANT OPTION];


          正如你看到的,在這個命令中有許多待填的內(nèi)容。讓我們逐一地對它們進行介    紹,并最終給出一些例子以讓你對它們的協(xié)同工作有一個了解。

          <privileges>是一個用逗號分隔的你想要賦予的權(quán)限的列表。你可以指定的  權(quán)限可以分為三種類型:

          數(shù)據(jù)庫/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限:

          ALTER: 修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。CREATE:   建立新的數(shù)據(jù)庫或數(shù)據(jù)表。DELETE: 刪除表的記錄。DROP: 刪除數(shù)據(jù)表或數(shù)據(jù)庫。INDEX: 建立或刪除索引。INSERT: 增加表的記錄。SELECT:   顯示/搜索表的記錄。UPDATE: 修改表中已存在的記錄。


          全局管理權(quán)限:

          FILE: 在MySQL服務(wù)器上讀寫文件。PROCESS:   顯示或殺死屬于其它用戶的服務(wù)線程。RELOAD: 重載訪問控制表,刷新日志等。SHUTDOWN: 關(guān)閉MySQL服務(wù)。


          特別的權(quán)限:

          ALL: 允許做任何事(和root一樣)。USAGE:   只允許登錄--其它什么也不允許做。


          這些權(quán)限所涉及到的MySQL的特征,其中的一些我們至今還沒看到,而其中的絕大部分是你所熟悉的。

          <what> 定義了這些權(quán)限所作用的區(qū)域。*.*意味著權(quán)限對所有數(shù)據(jù)庫和數(shù)據(jù)表有效。dbName.*意味著對名為dbName的數(shù)據(jù)庫中的所有數(shù)據(jù)表有效。dbName.tblName意味著僅對名為dbName中的名為tblName的數(shù)據(jù)表有效。你甚至還可以通過在賦予的權(quán)限后面使用圓括號中的數(shù)據(jù)列的列表以指定權(quán)限僅對這些列有效(在后面我們將看到這樣的例子)。

          <user>指定可以應(yīng)用這些權(quán)限的用戶。在MySQL中,一個用戶通過它登錄的用戶名和用戶使用的計算機的主機名/IP地址來指定。這兩個值都可以使用%通配符(例如kevin@%將允許使用用戶名kevin從任何機器上登錄以享有你指定的權(quán)限)。

          <password>指定了用戶連接MySQL服務(wù)所用的口令。它被用方括號括起,說明IDENTIFIED BY "<password>"在GRANT命令中是可選項。這里指定的口令會取代用戶原來的密碼。如果沒有為一個新用戶指定口令,當他進行連接時就不需要口令。

          這個命令中可選的WITH GRANT OPTION部分指定了用戶可以使用GRANT/REVOKE命令將他擁有的權(quán)限賦予其他用戶。請小心使用這項功能--雖然這個問題可能不是那么明顯!例如,兩個都擁有這個功能的用戶可能會相互共享他們的權(quán)限,這也許不是你當初想看到的。

          讓我們來看兩個例子。建立一個名為dbmanager的用戶,他可以使用口令managedb從server.host.net連接MySQL,并僅僅可以訪問名為db的數(shù)據(jù)庫的全部內(nèi)容(并可以將此權(quán)限賦予其他用戶),這可以使用下面的GRANT命令:

          mysql> GRANT ALL   ON db.*-> TO [email protected]> IDENTIFIED BY   "managedb"-> WITH GRANT OPTION;


          現(xiàn)在改變這個用戶的口令為funkychicken,命令格式如下:

          mysql> GRANT   USAGE ON *.*-> TO [email protected]> IDENTIFIED BY   "funkychicken";


          請注意我們沒有賦予任何另外的權(quán)限(the USAGE權(quán)限只能允許用戶登錄),但是用戶已經(jīng)存在的權(quán)限不會被改變。

          現(xiàn)在讓我們建立一個新的名為jessica的用戶,他可以從host.net域的任意機器連接到MySQL。他可以更新數(shù)據(jù)庫中用戶的姓名和email地址,但是不需要查閱其它數(shù)據(jù)庫的信息。也就是說他對db數(shù)據(jù)庫具有只讀的權(quán)限(例如,SELECT),但是他可以對Users表的name列和email列執(zhí)行UPDATE操作。命令如下:

          mysql> GRANT   SELECT ON db.*-> TO jessica@%.host.net-> IDENTIFIED BY   "jessrules";mysql> GRANT UPDATE (name,email) ON db.Users-> TO   jessica@%.host.net;


          請注意在第一個命令中我們在指定Jessica可以用來連接的主機名時使用了%(通配符)符號。此外,我們也沒有給他向其他用戶傳遞他的權(quán)限的能力,因為我們在命令的最后沒有帶上WITH GRANT OPTION。第二個命令示范了如何通過在賦予的權(quán)限后面的圓括號中用逗號分隔的列的列表對特定的數(shù)據(jù)列賦予權(quán)限。

          使用REVOKE

          正如你所預期的那樣,REVOKE命令是用來去除一個用戶以前被賦予的權(quán)限的。命令的語法如下:

          mysql> REVOKE   <privileges> [(<columns>)]-> ON <what> FROM   <user>;


          這個命令中各部分的功能和在上面的GRANT命令中時一樣。要去除Jessica的合作者的DROP權(quán)限(例如,如果他經(jīng)常錯誤地刪除數(shù)據(jù)庫和表),你可以使用下面的命令:

          mysql> REVOKE   DROP ON *.* FROM idiot@%.host.net;


          去除一個用戶的登錄權(quán)限大概是唯一不能使用REVOKE的。REVOKE ALL ON *.*會去除用戶的所有權(quán)限,但是他還可以登錄,要完全地刪除一個用戶,你需要在user表中刪除相應(yīng)的記錄:

          mysql> DELETE   FROM user-> WHERE User="idiot" AND Host="%.host.net";


          用新增的用戶如果登錄不了MySQL,在登錄時用如下命令:
          mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登錄主機的ip地址)

          1.1.13 備份與恢復

          1.1.13.1 備份

          備份單個據(jù)庫時  mysqldump –u root –p --databases abc                                                      >/ abc.sql

          Enter password: (輸入密碼)

          備份多個據(jù)庫時  mysqldump –u root –p --databases abc  ,aaa                                                    > /abc.sql

          Enter password: (輸入密碼)

          備份全部據(jù)庫時時,命令為mysqldump –u root --all-databases                                                     >/backup.sql

          Enter password: (輸入密碼)

          最穩(wěn)妥的MYISAM數(shù)據(jù)庫的備份方法。在默認的情況下,mysqldump程序會在備份每一個數(shù)據(jù)表之前給它加個讀操作鎖以防止它在備份過程中發(fā)生變化,但這并不能防止數(shù)據(jù)表B在mysqldump 程序備份數(shù)據(jù)表A的時候被修改。這就有可能導致一種后果:數(shù)據(jù)表A引用了數(shù)據(jù)表B里的某條記錄,但這條記錄卻在mysqldump 程序備份數(shù)據(jù)表B之前被刪除了。解決這個問題的辦法是用上

          --lock-all-tables 選項:

          >mysqldump –u root –p –lock-all-tables databasename> /back.sql

          1.1.13.2 恢復

          恢復多個數(shù)據(jù)庫時時,命令為    mysql  –u root –p < my_back.sql

          Enter password: (輸入密碼)

          恢復單個數(shù)據(jù)庫時時,命令為mysql  –u root –p databasename < my_back.sql

          Enter password: (輸入密碼)

          1.1.13.3 計劃備份

          采用linux 計劃工具crontab

          Crontab –e

          按 “i”鍵開始編寫計劃。

          */1 * * * * mysqldump  –u root –p --databases dbname1 dabname2 ….> /mysqlback/my_back.sql

          注意:計劃工具crontab的使用在《Neoshine Linux Server and Sybase 的安裝.doc》有較詳細介紹。

          1.1.13.4 存儲過程的備份與恢復

          >mysqldump –u root –p “--where=db=’dbname’”  --no-create-info

          Mysql proc > back.sql        (“”分兩行寫了,是一條命令)

          在下面的例子里,db是proc數(shù)據(jù)表用來存放數(shù)據(jù)庫名字的數(shù)據(jù)列,而--no-create-info 選項的作用是讓mysql在為proc數(shù)據(jù)表制作備份時不生成create table命令,這樣在恢復備份時就不會破壞proc數(shù)據(jù)表里屬于其他數(shù)據(jù)庫的存儲過程了。

          這里還有一個細節(jié)問題需要注意:在使用back.sql文件去恢復備份之前,必須要不proc數(shù)據(jù)表里屬于dbname的現(xiàn)有SP全部刪掉---------如果不這樣做,當備份文件里的SP試圖覆蓋數(shù)據(jù)表里的現(xiàn)有SP時就將觸發(fā)一個錯誤。

          Delete from mysql.proc where db=’dbname’

          注釋dbname為數(shù)據(jù)庫名。

          恢復時命令是一樣的

          Mysql –u root –p mysql  < back.sql

          1.1.13.5 具體操作

          操作簡單并且快捷的備份和恢復方法,也可以用SQLyog去實現(xiàn),它的備份和恢復功能已經(jīng)很完備(建議使用這種方法備份和恢復)。首先將備份的數(shù)據(jù)庫備份成 xxx.sql文件,然后在將這個文件倒入到你想要恢復的數(shù)據(jù)庫。(在倒入前,先要建立一個要空的數(shù)據(jù)庫,用來將備份的數(shù)據(jù)庫文件倒入。)具體的    操作可以參考第二部分MYSQL圖形使用工具。

          啟動SQLyog首先連接要備份的數(shù)據(jù)庫的服務(wù)器,然后右鍵點擊要備份的數(shù)據(jù)庫如下界面,然后選中export databases as sql statement左鍵單擊,在 Export to file 輸入要備份文件的地址,或點擊后面的按紐指定位置。

          然后點擊Export,便執(zhí)行將數(shù)據(jù)庫備份到SQL文件。當Export successful,關(guān)閉該界面。

          恢復時,同樣用SQLyog連接到要恢復的數(shù)據(jù)庫的服務(wù)器,然后建立好一個空的數(shù)據(jù)庫,用來做恢復剛才備份SQL文件數(shù)據(jù)庫。然后同樣右鍵點擊要恢復的數(shù)據(jù)庫在彈出的窗口中,點按紐指定剛才備份的SQL文件。點擊Execute按紐。便 進行了恢復數(shù)據(jù)庫的操作。待執(zhí)行完畢后,備份恢復的工作就完成了。



          常見的MySQL命令大全MySQL索引讓MySQL更快速運行
          MySQL使用教程MySQL快速入門
          MySQL數(shù)據(jù)庫連接MySQL基本用法
          MySQL日期數(shù)據(jù)類型使用總結(jié)MySQL的使用方法
          MySQL數(shù)據(jù)庫導出和導入的方法MySQL字符集及MySQL編碼轉(zhuǎn)換
          一些MySQL的常見問題怎樣在MySQL中直接儲存圖片
          安裝 MySQL與MySQL GUI ToolsMySQL實用命令
          MySQL配置文件示例MySQL集群解決方案
          信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
          • 勁爆價:
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 日本素人在线影视 | 日韩高跟视频在线播放 | 操屄视频在线观看 | 操你综合 | 影音先锋AV网址 | 欧美骚 | 欧美一区二区三区的 | 欧美一级娱乐 | 天天爽天天澡天天爽视频 - 百度 无码毛片一区二区三区四区五区六区 | 大逼视频偷怕 |