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

               當前位置:首頁>軟件介紹>MySQL的使用方法 查詢:
               
          MySQL的使用方法

                  一、什麼是 MySQL

                  MySQL (發(fā)音為 "My Ess Que Ell")是 Tcx 公司(http://www.tcx.se)開發(fā)的一個多人使用、多執(zhí)行緒的 SQL 資料庫 Server。MySQL 主要的目標在快速、穩(wěn)定和容易使用。MySQL 可在此 http://www.mysql.net/ 取得。

                  二、MySQL 的安裝

                  本文所使用的 MySQL 版本為 mysql-3.22.27.tar.gz(原始碼檔), 作業(yè)環(huán)境為 RedHat6.0 +CLE0.8 。

                  MySQL 預(yù)設(shè)情況下會安裝至 /usr/local 目錄下,不過為了日後移除方便,建議將 mysql 獨立安裝在 /usr/local/mysql 目錄。底下為安裝 MySQL 的步驟:

                  取得 mysql-3.22.27.tar.gz 後, 於 /usr/local 目錄下解開:

                  # cd /usr/local

                  # tar zxvf mysql-3.22.27.tar.gz

                  # cd mysql-3.22.27

                  設(shè)定 configure 安裝選項,選擇安裝目錄 (prefix)以及支援中文 Big5 碼(with-charset=big5):

                  # ./configure --prefix=/usr/local/mysql

                  #--with-charset=big5

                  開始編譯并安裝:

                  # make

                  # make install

                  # scripts/mysql_install_db

                  最後一個步驟是用來產(chǎn)生 MySQL grant tables(會建立一個 mysql 資料庫和一些 tables,用來管理使用 MySQL 的授權(quán)資訊,也就是使用者有哪些使用資料庫的權(quán)限)。

                  三、啟動、停止 MySQL

                  要啟動 MySQL 的方法:(以本文將 MySQL 安裝在 /usr/local/mysql 為例)

                  # /usr/local/mysql/share/mysql.server start

                  注意在第一次執(zhí)行前,須將 mysql.server 設(shè)成可執(zhí)行(chmod 744 mysql.server),另外可將這行指令加在 /etc/rc.d/rc.local 檔中,讓 MySQL 在開機時自動啟動。

                  要停止 MySQL 的方法:

                  # /usr/local/mysql/bin/mysqladmin shutdown

                  如果你為 MySQL Administrator root 帳號(非作業(yè)系統(tǒng)的 root)設(shè)了密碼,要停止 MySQL 則必須像下列這樣做,MySQL 會詢問你 root 的密碼後才會執(zhí)行 shutdown 的工作:

                  # /usr/local/mysql/bin/mysqladmin -u root -p shutdown

                  四、管理與使用 MySQL 簡介

                  在你開始前 MySQL 提供了許多工具 (Client Tools)來與 MySQL 資料庫 Server 連線,其中最主要的為mysql 交談式連線工具與 mysqladmin 公用程式,大部份時候使用者會用 mysql 來和資料庫 Server 交談。底下就以 mysql 連線工具來介紹如何維護與使用 MySQL。(以本文安裝為例,     mysql 工具位於 /usr/local/mysql/bin/mysql)。

                  mysql 的使用語法如下:

                  mysql [-u username] [-h host] [-p[password]] [dbname]

                  MySQL 資料庫有自己一套使用者帳號與權(quán)限管控方法,所以這邊所指定的 username 與  password 是 MySQL 的使用者與密碼,而不是作業(yè)系統(tǒng)的使用者與密碼(當然任何使用者都能執(zhí)行 mysql , 然後以 MySQL 的任何帳號進入使用) 。

                  在你第一次安裝好 MySQL 時,MySQL 的管理帳號為 root,沒有設(shè)定密碼 (非作業(yè)系統(tǒng)的 root)。

                  所以在開始前,請先照下列步驟為  root 設(shè)好密碼:

                  使用 mysql 與 MySQL 資料庫 Server 連線:

                  # /usr/local/mysql/bin/mysql -u root mysql

                  Reading table information for completion of table and column names

                  You can turn off this feature to get a quicker startup with -A

                  Welcome to the MySQL monitor.  Commands end with ; or g.

                  Your MySQL connection id is 201 to server version: 3.22.27

                  Type 'help' for help.

                  mysql>

                  在下了 mysql -u root  mysql 指令,指定以 root 帳號并開啟 mysql 系統(tǒng)資料庫,連線至 MySQL後,會看到一些提示訊息與 mysql 工具的提示符號,以後大部份的工作皆在此提示符號下完成。

                  更改 MySQL系統(tǒng)管理者 root 密碼:

                  mysql> update user set password=password('新密碼') where user='root';

                  Query OK, 0 rows affected (0.00 sec)

                  Rows matched: 2  Changed: 0  Warnings: 0

                  mysql> FLUSH PRIVILEGES;

                  Query OK, 0 rows affected (0.00 sec)

                  mysql> quit

                  Bye

                  注意每個指令後要加上一個分號 ";" 才會讓 mysql 開始執(zhí)行。而第二道指令會讓已載入記憶體的 mysql 系統(tǒng)資料庫更新,最後離開 mysql 工具程式。

                  在更新 root 密碼後,日後要與 MySQL 連線的方法為:

                  mysql  -u root -p新密碼

                  或者是這樣,讓 mysql 詢問 root 的密碼:

                  mysql  -u root -p

                  資料庫維護接下來,我們以簡單的通訊錄資料庫作為例子,來介紹如何用 mysql 工具程式來做資料庫的維護(新增、授權(quán)、資料表維護等)。

                  首先,以 MySQL root 帳號連線後建立一 addbook 資料庫:

                  # /usr/local/mysql/bin/mysql -u root -p

                  Enter password:

                  Welcome to the MySQL monitor.  Commands end with ; or g.

                  Your MySQL connection id is 207 to server version: 3.22.27

                  Type 'help' for help.

                  mysql> create databae addbook;

                  Query OK, 1 row affected (0.00 sec)指定使用 addbook 資料庫,并建立一個 friends 資料表:

                  mysql> use addbook;

                  Database changed

                  mysql> create  table friends (

                    -> name Char(15),

                    -> telphone VarChar(20),

                    -> icq Char(10),

                    -> address VarChar(30)

                    -> );

                  Query OK, 0 rows affected (0.00 sec)

                  新增幾筆資料,并查詢看看:

                  mysql> insert into friends values(

                    -> "maa",  "29016710", "46243046", "臺北縣新莊市"

                    -> );

                  Query OK, 1 row affected (0.00 sec)

                  mysql> insert into friends (name, icq, telphone, address ) Values (

                    -> "cxlin", "39425893", "7654321", "臺北縣"

                    -> );

                  Query OK, 1 row affected (0.01 sec)

                  mysql> select * from friends;

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

                  | name  | telphone | icq      | address      |

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

                  | maa   | 29016710 | 46243046 | 臺北縣新莊市 |

                  | cxlin | 7654321  | 39425893 | 臺北縣       |

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

                  2 rows in set (0.00 sec)

                  第二個 insert 指令指定了資料欄位的插入順序,用法較第一個為彈性,而第一個指令必須依資料表建立結(jié)構(gòu)時的順序插入資料。

                  更新、刪除資料表記錄:

                  mysql> update friends set address =  "桃園縣" where name  = "cxlin";

                  Query OK, 1 row affected (0.00 sec)

                  Rows matched: 1  Changed: 1  Warnings: 0

                  mysql> select * from friends where name = "cxlin";

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

                  | name  | telphone | icq      | address |

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

                  | cxlin | 7654321  | 39425893 | 桃園縣  |

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

                  1 row in set (0.00 sec)

                  mysql> delete from friends where name = "maa";

                  Query OK, 1 row affected (0.01 sec)

                  mysql> select * from  friends;

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

                  | name  | telphone | icq      | address |

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

                  | cxlin | 7654321  | 39425893 | 桃園縣  |

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

                  1 row in set (0.00 sec)最後,建好資料庫與資料表後,把 addbook 資料庫中所有資料表的使用權(quán)限(select、insert、update、delete)授權(quán)給 maa@localhost(再次提醒,此處的 maa 為 MySQL 的使用者帳號,而非作業(yè)系統(tǒng)的 maa 帳號):

                  mysql> grant select, insert, update, delete

                     -> on addbook.*

                     -> to maa@localhost identified by '1234567';

                  Query OK, 0 rows affected (0.00 sec)

                  之後,可用 maa 的身份進入 MySQL 存取 addbook 資料庫:

                  # /usr/local/mysql/bin/mysql -u maa -p addbook

                  Enter password:

                  Reading table information for completion of table and column names

                  You can turn off this feature to get a quicker startup with -A

                  Welcome to the MySQL monitor. Commands end with ; or g.

                  Your MySQL connection id is 211 to server version: 3.22.27

                  Type 'help' for help.

                  mysql> status

                  --------------

                  ./mysql  Ver 9.36 Distrib 3.22.27, for pc-linux-gnu (i686)

                  Connection id:          26

                  Current database:       addbook

                  Current user:           maa@localhost

                  Server version          3.22.27

                  Protocol version        10

                  Connection              Localhost via UNIX socket

                  UNIX socket             /tmp/mysql.sock

                  Uptime:                 2 hours 29 min 33 sec

                  Threads: 11  Questions: 107  Slow queries: 0  Opens: 11  Flush tables: 1

                  Open 7

                  --------------

                  收回資料庫使用權(quán)限的方法如下(以 MySQL root 進入):

                  mysql> revoke delete on addbook.* from maa@localhost;

                  Query OK, 0 rows affected (0.00 sec)

                  mysql> revoke all privileges on addbook.* from  maa@localhost;

                  Query OK, 0 rows affected (0.00 sec)

                  第二個指令用來收回全部的權(quán)限?!?/p>

                  五、mysqladmin 

                  公用程式的使用mysqladmin 公用程式可用來維護 MySQL 比較一般性的工作(新增、刪除資料庫、設(shè)定使用者密碼及停止 MySQL 等等),詳細的說明可以使用 mysqladmin --help 來查看。(以本文的安裝為例 mysqladmin  位於 /usr/local/mysql/bin/mysqladmin)。

                  新增資料庫 dbtest

                  # /usr/local/mysql/bin/mysqladmin -u root -p create dbtest

                  Enter password:

                  Database "dbtest" created.

                  刪除資料庫

                  # /usr/local/mysql/bin/mysqladmin -u root -p drop dbtest

                  Enter password:

                  Dropping the database is potentially a very bad thing to do.

                  Any data stored in the database will be destroyed.

                  Do you really want to drop the 'dbtest' database [y/N]

                  y

                  Database "dbtest" dropped

                  設(shè)定使用者密碼(將 maa 的密碼改為  7654321,mysqladmin 會先詢問 maa 的原密碼)

                  # /usr/local/mysql/bin/mysqladmin -u maa -p password 7654321

                  Enter password:

                  #

                  停止 MySQL 服務(wù)

                  # ./mysqladmin -u root -p shutdown

                  Enter password:

                  注意,shutdown MySQL 後,必須由作業(yè)系統(tǒng)的 root 帳號執(zhí)行下列指令才能啟動 MySQL:

                  /usr/local/mysql/share/mysql/mysql.server start

                  六、連接MYSQL:

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

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

                  首先在打開DOS窗口,然后進入目錄 mysqlbin,再鍵入命令mysql -uroot -p,

                  回車后提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,

                  故直接回車即可進入到MYSQL中了,MYSQL的提示符是:mysql>

                  2、例2:連接到遠程主機上的MYSQL。假設(shè)遠程主機的IP為:110.110.110.110,

                  用戶名為root,密碼為abcd123。則鍵入以下命令:

                  mysql -h110.110.110.110 -uroot -pabcd123

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

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

                  七、修改密碼:

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

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

                  mysqladmin -uroot -password ab12

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

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

                  mysqladmin -uroot -pab12 password djg345

                  八、增加新用戶:

                  (注意:和上面不同,下面的因為是MYSQL環(huán)境中的命令,所以后面都帶一個分號作為命令結(jié)束符)

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

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

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

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

                  例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對數(shù)據(jù)庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數(shù)據(jù)庫所在的那臺主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數(shù)據(jù)庫,只能通過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、顯示數(shù)據(jù)庫列表:

                  show databases;

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

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

                  use mysql; //打開庫,學過FOXBASE的一定不會陌生吧

                  show tables;

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

                  describe 表名;

                  4、建庫:

                  create database 庫名;

                  5、建表:

                  use 庫名;

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

                  6、刪庫和刪表:

                  drop database 庫名;

                  drop table 表名;

                  7、將表中記錄清空:

                  delete from 表名;

                  8、顯示表中的記錄:

                  select * from 表名;

                  十、一個建庫和建表以及插入數(shù)據(jù)的實例

                  create database school; //建立庫SCHOOL

                  use school; //打開庫SCHOOL

                  create table teacher //建立表TEACHER

                  (

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

                  name char(10) not null,

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

                  year date

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

                  //以下為插入字段

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

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

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

                  1、增加字段

                  alter table dbname add column <字段名><字段選項>

                  2、修改字段

                  alter table dbname change <舊字段名> <新字段名><選項>

                  3、刪除字段

                  alter table dbname drop column <字段名>

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

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

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

                    使用select into outfile "filename"語句

                    使用mysqldump實用程序

                    使用select into outfile "filename"語句

                    可以在mysql的命令行下或在php程序中執(zhí)行它。我下面以在mysql命令行下為例。在php中使用時,將其改成相應(yīng)的查詢進行處理即可。不過在使用這個命令時,要求用戶擁有file的權(quán)限。如我們有一個庫為phptest,其中有一個表為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ù)庫中卸到a.txt文件中。注意文件名要加單引號。那么這個文件在哪呢?在mysql目錄下有一個data目錄,它即是數(shù)據(jù)庫文件所放的地方。每個庫在單獨占一個子目錄,所以phptest的目錄為c:mysqldataphptest(注意:我的mysql安裝在c:mysql下)。

                  好,現(xiàn)在我們進去,a.txt就是它。打開這個文件,可能是:

                    1 Mika Hakinnen 1

                    2 David Coulthard 1

                    3 Michael Schumacher 2

                    4 Rubens Barrichello 2

                    ...

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

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

                    FIELDS

                    TERMINATED BY " "

                    [OPTIONALLY] ENCLOSED BY ""

                    ESCAPED BY ""

                    LINES

                    TERMINATED BY " "

                    TERMINATED 表示字段分隔

                    [OPTIONALLY] ENCLOSED 表示字段用什么字符包括起來,如果使用了OPTIONALLY則只有CHAR和VERCHAR被包括ESCAPED 表示當需要轉(zhuǎn)義時用什么作為轉(zhuǎn)義字符LINES TERMINATED 表示每行記錄之間用什么分隔

                    上面列的是缺省值,而且這些項都是可選的,不選則使用缺省值??梢愿鶕?jù)需要進行修改。給出一個例子如下:

                    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"

                    ...

                    可以看到每個字段都用","進行了分隔,且每個字段都用"""包括了起來。注意,行記錄分隔符可以是一個字符串,請大家自行測試。不過,如果輸出文件在指定目錄下如果存在的話就會報錯,先刪除再測試即可。

                    使用mysqldump實用程序

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

                  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);

                    INSERT INTO driver VALUES (2,"David","Coulthard",1);

                    INSERT INTO driver VALUES (3,"Michael","Schumacher",2);

                    INSERT INTO driver VALUES (4,"Rubens","Barrichello",2);

                    ...

                    如果有多表,則分別列在下面??梢钥吹竭@個文件是一個完整的sql文件,如果要將其導(dǎo)入到其它的數(shù)據(jù)庫中可以通過命令行方式,很方便:mysql phptest < a.sql。如果將數(shù)據(jù)從本地傳到服務(wù)器上,則可以將這個文件上傳,然后在服務(wù)器通過命令行方式裝入數(shù)據(jù)。

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

                    mysqldump -d phptest > a.sql

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

                    mysqldump -t phptest > a.sql

                    那么如果我只想要數(shù)據(jù),而不想要什么sql命令時,應(yīng)該如何操作呢?

                    mysqldump -T./ phptest driver

                    其中,只有指定了-T參數(shù)才可以卸出純文本文件,表示卸出數(shù)據(jù)的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定driver表,則將卸出整個數(shù)據(jù)庫的數(shù)據(jù)。每個表會生成兩個文件,一個為.sql文件,包含建表執(zhí)行。另一個為.txt文件,只包含數(shù)據(jù),且沒有sql指令。對卸出的數(shù)據(jù)文件,也可以同select方法一樣,指定字段分隔符,包括字符,轉(zhuǎn)義字段,行記錄分

                  隔符。參數(shù)列在下面:

                    --fields-terminated-by= 字段分隔符

                    --fields-enclosed-by= 字段包括符

                    --fields-optionally-enclosed-by= 字段包括符,只用在CHAR和VERCHAR字段上

                    --fields-escaped-by= 轉(zhuǎn)義字符

                    --lines-terminated-by= 行記錄分隔符

                  我想大家應(yīng)該明白這些參數(shù)的意思了吧。一個例子如下:

                    mysqldump -T./ --fields-terminated-by=, --fields-enclosed-by=" phptest driver

                    輸出結(jié)果為:

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

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

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

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

                    ...

                    請注意字符的使用。

                    小結(jié)

                  以上為使用select和mysqldump實用程序來卸出文本的方法。select適合利用程序進行處理,而mysqldump則為手工操作,同時提供強大的導(dǎo)出功能,并且可以處理整個庫,或庫中指定的多表。

                    同時還有一些方法,如直接數(shù)據(jù)庫文件拷貝也可以,但是移動后的數(shù)據(jù)庫系統(tǒng)與原系統(tǒng)應(yīng)一致才行。這里就不再提了。導(dǎo)入同導(dǎo)出相類似,導(dǎo)入也有兩種方法:

                    使用LOAD DATA INFILE "filename"命令

                    使用mysqlimport實用程序

                    使用sql文件

                    由于前兩個處理與導(dǎo)出處理相似,只不過是它們的逆操作,故只給出幾種命令使用的例子,不再解釋了,大家可以自行查閱手冊。

                    使用load命令:

                    load data infile "driver.txt" into table driver fields terminated by "," enclosed by """;

                    使用mysqlimport實用程序:

                    mysqlimport --fields-terminated-by=, --fields-enclosed-by=" phptest driver.txt

                    對于第三種,則可以使用由mysqldump導(dǎo)出的sql文件,在命令行下執(zhí)行mysql庫名。

                  首先要聲明一點,大部分情況下,修改MySQL是需要有mysql里的root權(quán)限的,所以一般用戶無法更改密碼,除非請求管理員。

                  方法一

                  使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,不過別忘了使用PASSWORD函數(shù)。

                  方法二

                  使用mysqladmin,這是前面聲明的一個特例。

                  mysqladmin -u root -p password mypasswd

                  輸入這個命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。

                  把命令里的root改為你的用戶名,你就可以改你自己的密碼了。

                  當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執(zhí)行mysqladmin,那么這種方法就是無效的。而且mysqladmin無法把密碼清空。

                  下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限:

                  方法三

                  mysql> INSERT INTO mysql.user (Host,User,Password)

                  VALUES('%','jeffrey',PASSWORD('biscuit'));

                  mysql> FLUSH PRIVILEGES

                  確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。

                  在《mysql中文使用手冊》里有這個例子,所以我也就寫出來了。

                  注意要使用PASSWORD函數(shù),然后還要使用FLUSH PRIVILEGES。

                  方法四

                  和方法三一樣,只是使用了REPLACE語句

                  mysql> REPLACE INTO mysql.user (Host,User,Password)

                  VALUES('%','jeffrey',PASSWORD('biscuit'));

                  mysql> FLUSH PRIVILEGES

                  方法五

                  使用SET PASSWORD語句,

                  mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');

                  擬也必須使用PASSWORD()函數(shù),但是不需要使用FLUSH PRIVILEGES。

                  方法六

                  使用GRANT ... IDENTIFIED BY語句

                  mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';

                  這里PASSWORD()函數(shù)是不必要的,也不需要使用FLUSH PRIVILEGES。

                  注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。

                  MySQL 忘記口令的解決辦法如果 MySQL 正在運行,首先殺之: killall -TERM mysqld。

                  啟動 MySQL :bin/safe_mysqld --skip-grant-tables &

                  就可以不需要密碼就進入 MySQL 了。

                  然后就是

                  >use mysql

                  >update user set password=password("new_pass") where user="root";

                  >flush privileges;

                  重新殺 MySQL ,用正常方法啟動 MySQL 。

                  六、結(jié)語:

                  MySQL 資料庫的確是值得推廣的一個產(chǎn)品,它的穩(wěn)定性已經(jīng)穩(wěn)得大家的贊同,只要你曾經(jīng)學習過 SQL Language(結(jié)構(gòu)化查詢語言),相信要摸熟 MySQL 的使用只消一兩個小時的時間。如果搭配PHP (Personal  HomePage Program)和 Apache Web Server,更可很輕松建構(gòu)一個與資料庫結(jié)合的動態(tài) Web Site。如果再配合 phpMyAdmin 這個 Web 化的 MySQL 管理工具,建立 MySQL 的資料庫和  MySQL 的管理將會更加方便。


          PHP之防御sql注入攻擊的方式PHP入門篇
          php教程-基礎(chǔ)版PHP搜索附近的人實現(xiàn)代碼
          PHP的FTP學習php網(wǎng)站如何防止sql注入
          PHP語言的有哪些優(yōu)勢和特點php代碼優(yōu)化
          關(guān)于php測試部署和持續(xù)集成常見的MySQL命令大全
          MySQL索引讓MySQL更快速運行MySQL使用教程
          MySQL快速入門MySQL數(shù)據(jù)庫連接
          MySQL基本用法MySQL日期數(shù)據(jù)類型使用總結(jié)
          信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
          • 勁爆價:
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 国色天香网站 | 天堂中文资源在线 | 大香蕉视频成人视频 | 成人精品豆花 | 午夜天堂精品久久久久 | 91干B | 艳舞乱伦小说 | 免费一级电影网 | 大香蕉伊人无限 | 天堂а在线中文在线新版 |