查看完整版本: MySQL Server 安裝使用手冊


adj 2007-11-14 21:01

MySQL Server 安裝使用手冊

MySQL安裝使用手冊
一、概述:  
    MySQL為一個多使用者、多執行緒及多站台的快速反應資料庫系統,系統主要著眼於快速與多使用者,最大的好處是用於教育用途,免費使用。
  它具有多種版本,從Unix到Windows 98(或NT)都有,很適合於一般教育界來使用開發一些資庫料的整合應用,把它當成後端資料庫系統,一個不錯的選擇。 二、資源:[list][*]作業環境:
RedHat 6.0 + CLE 0.8p1[*]原始出處:
[url=http://www.mysql.net/][color=#0000ff]http://www.mysql.net/[/color][/url]
台灣Mirror站:[url=http://mysql.ht.net.tw/][color=#0000ff]http://mysql.ht.net.tw/[/color][/url][*]版本:
MySQL-3.22.27中文修正版[*]檔案來源:
[url=ftp://sql.hmes.kh.edu.tw/pub/apache_php3_mysql/mysql-3.22.27/][color=#0000ff]ftp://sql.hmes.kh.edu.tw/pub/apache_php3_mysql/mysql-3.22.27/[/color][/url] 或
Mirror站 [url=ftp://ftp.linuxer.nu/Linux/apache_php_mysql/rpms/mysql-3.22.27/][color=#0000ff]ftp://ftp.linuxer.nu/Linux/apache_php_mysql/rpms/mysql-3.22.27/[/color][/url] 或
Mirror站  [url=http://linux.mcic.thu.edu.tw/download/pub/packages/apache+php+mysql/][color=#0000ff]http://linux.mcic.thu.edu.tw/download/pub/packages/apache+php+mysql/[/color][/url][*]檔案列表: [table][tr][td]-rw-r--r--   1 root     ftp       4693686 Nov 27 00:59 MySQL-3.22.27-2c.i386.rpm  
-rw-r--r--   1 root     ftp       4041769 Nov 27 00:59 MySQL-3.22.27-2c.src.rpm  
-rw-r--r--   1 root     ftp        541043 Nov 27 00:59 MySQL-bench-3.22.27-2c.i386.rpm  
-rw-r--r--   1 root     ftp       2050704 Nov 27 00:59 MySQL-client-3.22.27-2c.i386.rpm  
-rw-r--r--   1 root     ftp        601871 Nov 27 00:59 MySQL-devel-3.22.27-2c.i386.rpm[/td][/tr][/table] [*]網路資源:
[url=http://mark.ee.nctu.edu.tw:8888/qa/list.php3?num=2&collapse=1][color=#0000ff]PHP-Zend Resources Center - 技術與資源交流中心 MySQL交流討論區[/color][/url]
[url=http://php.paes.cy.edu.tw/wwwboard/list.php3?num=3][color=#0000ff]瑞琦資訊工作室 MySQL交流討論區[/color][/url]
[url=telnet://linux.twbbs.org/][color=#0000ff]linux.twbbs.org BBS站 MySQL版[/color][/url][/list]三、安裝:[list=1][*]以 root 身份登入 Redhat 系統。[*]到「檔案來源」的其中一站下載上述五個檔案。[*]依序以 rpm -ivh 命令將所下載下來的檔案安裝入Redhat作業系統中。 [table][tr][td][color=#3366ff][root@test /root]#[/color] [color=blue]rpm -ivh MySQL-3.22.27-2c.i386.rpm[/color]
[color=#3366ff][root@test /root]#[/color] [color=blue]rpm -ivh MySQL-client-3.22.27-2c.i386.rpm[/color]
[color=#3366ff][root@test /root]#[/color] [color=blue]rpm -ivh MySQL-devel-3.22.27-2c.i386.rpm[/color][/td][/tr][/table][*]若您需要重新Compiler,則只要安裝 MySQL-3.22.27-2c.src.rpm 套件即可。[*]以 root 身份登入 Redhat 系統後,進入MySQL資料庫系統。 [table][tr][td][color=#3366ff][root@test /root]#[/color][color=blue] mysql mysql[/color][/td][/tr][/table] [*]若安裝成功您可看到下列畫面,並看到mysql的提示號! [table][tr][td][color=#ff99ff]Reading table information for completion of table and column names [/color]
[color=#ff99ff]You can turn off this feature to get a quicker startup with -A[/color] [color=#ff99ff]Welcome to the MySQL monitor.  Commands end with ; or \g. [/color]
[color=#ff99ff]Your MySQL connection id is 212 to server version: 3.22.27 [/color][color=#ff99ff]Type 'help' for help.
[/color][color=#3366ff]mysql>[/color]
[/td][/tr][/table] [*]更改MySQL系統之管理者密碼(新密碼的地方,換成您要設定的密碼) [table][tr][td][color=#3366ff]mysql>[/color] [color=blue]UPDATE user SET password=password('新密碼') where user='root';[/color][color=#ffff00] [/color]
[color=#ff99ff]Query OK, 0 rows affected (0.00 sec)[/color]
[color=#ff99ff]Rows matched: 2  Changed: 0  Warnings: 0[/color][/td][/tr][/table] [*]刪除空帳號,以維護系統安全 [table][tr][td][color=#3366ff]mysql>[/color] [color=blue]DELETE FROM user WHERE User = '';[/color]
[color=#ff99ff]Query OK, 0 rows affected (0.00 sec)[/color]
[color=#ff99ff]Rows matched: 2  Changed: 0  Warnings: 0[/color][/td][/tr][/table](最後是兩個單引號)[*]即時更新上述修正之資料 [table][tr][td][color=#3366ff]mysql>[/color][color=blue] FLUSH PRIVILEGES;
[/color][color=#ff99ff]Query OK, 0 rows affected (0.00 sec)[/color][/td][/tr][/table] [*]離開MySQL資料庫系統 [table][tr][td][color=#3366ff]mysql>[/color] [color=blue]exit
[/color][color=#ff99ff]Bye[/color]
[color=#3366ff][root@test root]#[/color][/td][/tr][/table] [*]測試一下剛剛更新的密碼是否正常:
  [table][tr][td][color=#3366ff][root@test root]#[/color][color=#ffff00] [/color][color=blue]mysql mysql -uroot -p新密碼
[/color][color=#ff99ff]Reading table information for completion of table and column names[/color]
[color=#ff99ff]You can turn off this feature to get a quicker startup with -A[/color] [color=#ff99ff]Welcome to the MySQL monitor.  Commands end with ; or \g.[/color]
[color=#ff99ff]Your MySQL connection id is 29 to server version: 3.22.27[/color] [color=#ff99ff]Type 'help' for help.
[/color][color=#3366ff]mysql>[/color][color=blue] exit[/color]
[color=#ff99ff]Bye[/color]
[color=#3366ff][root@test root]#[/color]
[/td][/tr][/table]說明:(1)[color=blue]mysql mysql[/color]為連結MySQL資料庫,資料庫名稱為mysql。
   (2)[color=blue]-uroot[/color]:-u宣告使用者,root為使用者名稱。
   (3)[color=blue]-p新密碼[/color]:-p宣告密碼,後面接root新設的密碼。[*]以後進入使用MySQL資料庫系統,須以下列格式進入: [table][tr][td][color=#3366ff][root@test root]#[/color][color=blue] mysql 資料庫名稱 -u使用者名稱 -p密碼[/color][/td][/tr][/table]說明:[[color=blue]-u[/color][color=#ff9900]使用者名稱[/color]]-u和使用者名稱間不可有空格。
   [[color=blue]-p[/color][color=#ff9900]密碼[/color]]-p和密碼間不可有空格。[/list]四、mysqladmin公用程式的使用:[list=1][*]新增資料庫: [table][tr][td][color=#3366ff][root@test root]# [/color][color=blue]mysqladmin -uroot -p密碼 create 資料庫名稱[/color][/td][/tr][/table]說明:用法與mysql一樣,-u緊接MySQL管理者帳號(通常為root),-p緊接管理者密碼(通常為root之密碼)
   資料庫名稱為您要新增的DataBase的名稱。[*]刪除資料庫: [table][tr][td][color=#3366ff][root@test root]# [/color][color=blue]mysqladmin -uroot -p密碼 drop 資料庫名稱[/color][/td][/tr][/table]說明:用法與上述新增資料庫方式一樣。[*]關閉MySQL服務: [table][tr][td][color=#3366ff][root@test root]# [/color][color=blue]mysqladmin -uroot -p密碼 shutdown[/color][/td][/tr][/table][/list]五、基本用法:[list=1][*]增加新的MySQL使用者:(方法一)
(1)開啟mysql資料庫 [table][tr][td][color=#3366ff][root@test root]#[/color][color=blue] mysql mysql -uroot -p密碼
[/color][color=#ff99ff]Reading table information for completion of table and column names[/color]
[color=#ff99ff]You can turn off this feature to get a quicker startup with -A[/color] [color=#ff99ff]Welcome to the MySQL monitor.  Commands end with ; or \g.[/color]
[color=#ff99ff]Your MySQL connection id is 29 to server version: 3.22.27[/color] [color=#ff99ff]Type 'help' for help.[/color]
[color=#3366ff]mysql>[/color]
[/td][/tr][/table] 
(2)增加一個新帳號,並設定權限 [table][tr][td][color=#3366ff]mysql>[/color][color=blue] insert into user values ('host','user',password('密碼'),'y','y','y','y','y','y','y','y','y','y','y','y','y','y');[/color][/td][/tr][/table]說明:host->填入您要連線的主機名稱(完整名稱hostname+domainname),若位於本機則填localhost。
   user-->您要設定的帳號
   密碼-->您要設定的密碼
   之後14個y代表著14個不同的權限,依序為[list=1]  [table][tr][td]1.Select_priv[/td][td]2.Insert_priv[/td][td]3.Update_priv[/td][td]4.Delete_priv[/td][td]5.Index_priv[/td][/tr][tr][td]6.Alter_priv[/td][td]7.Create_priv[/td][td]8.Drop_priv[/td][td]9.Grant_priv[/td][td]10.References_priv[/td][/tr][tr][td]11.Reload_priv[/td][td]12.Shutdown_priv[/td][td]13.Process_priv[/td][td]14.File_priv[/td][td][/td][/tr][/table][/list]   若您不開放權限,則在該項目下填n即可。
  [*]增加新的MySQL使用者:(方法二)(較安全)
格式: [table][tr][td][color=#3366ff]mysql>[/color][color=blue] GRANT 權限 ON 資料庫(或資料表TABLE) TO user@host IDENTIFIED BY '密碼';[/color][/td][/tr][/table]說明:權限授與共分三種:[list][*]對資料庫(DateBase)有十五種權限: [table][tr][td]ALL PRIVILEGES[/td][td]ALTER[/td][td]CREATE[/td][td]DELETE[/td][td]DROP[/td][/tr][tr][td]FILE[/td][td]INDEX[/td][td]INSERT[/td][td]PROCESS[/td][td]REFERENCES[/td][/tr][tr][td]RELOAD[/td][td]SELECT[/td][td]SHUTDOWN[/td][td]UPDATE[/td][td]USAGE[/td][/tr][/table] [*]對資料表(Table)則只有八種權限: [table][tr][td]SELECT[/td][td]INSERT[/td][td]UPDATE[/td][td]DELETE[/td][td]CREATE[/td][/tr][tr][td]DROP[/td][td]INDEX[/td][td]ALTER[/td][td][/td][td][/td][/tr][/table] [*]對資料欄(column)則只有三種權限: [table][tr][td]SELECT[/td][td]INSERT[/td][td]UPDATE[/td][/tr][/table][/list] 
[color=#ff9900]user[/color][color=blue]@[/color][color=#ff9900]host[/color]表示法:表示來自host主機的user使用者。user為您欲連線MySQL的帳號,host則必須填上你連線來源的主機完整名稱(hostname.domianname);例如:我想要設定的帳號為coco,而且是從mail.hmes.kh.edu.tw這台主機連上來使用的,所以就寫成[email=coco@mail.hmes.kh.edu.tw]coco@mail.hmes.kh.edu.tw[/email]。若使用萬用字元,則必須加上括號,例如:('test%'@'%.hinet.net')==>表示從.hinet.net網域連上來的test開頭的帳號。  GRANT的特性:在MySQL資料庫,若找到相對應的entry則只作UPDATE,找不到才會CREATE一個新的帳號及權限。 [color=#ff0000] [b][i]權限設定建議:[/i][/b][/color][color=#33ff33]除了管理者外,其他user儘量避免設定全部權限全開。一般而言,只開[/color][color=#ffcccc]SELECT、INSERT、UPDATE[/color][color=#33ff33]三項權限;進階的user則加開[/color][color=#ffcccc]DELETE、CREAT、DROP、INDEX[/color][color=#33ff33]四項權限;其餘權限,[/color][color=#ffcccc]能不開,則不開[/color][color=#33ff33],以確保整個MySQL的安全性。[/color] (1)新增帳號,並給予全部權限 [table][tr][td][color=#3366ff]mysql>[/color][color=blue] GRANT ALL PRIVILEGES ON *.* TO user@host IDENTIFIED BY '密碼'[/color][color=blue];[/color][/td][/tr][/table]說明:將全部權限都設給[color=black]從host連線上來的user這個人[/color],並給定密碼為[color=#ff9900]密碼[/color]。 (2)新增帳號,並指定某資料庫與特定權限給該帳號 [table][tr][td][color=#3366ff]mysql>[/color] [color=blue]GRANT SELECT,INSERT,UPDATE ON 資料庫名.* TO user@host IDENTIFIED BY '密碼'[/color][color=blue];[/color][/td][/tr][/table]說明:開放某資料庫給[color=black]從host連線上來的user這個人,並[/color]給定密碼為[color=#ff9900]密碼[/color]。
  
[*]刪除使用者帳號與權限:
格式: [table][tr][td][color=#3366ff]mysql>[/color] [color=blue]REVOKE 權限 ON 資料庫(或資料表TABLE) TO user@host IDENTIFIED BY '密碼';[/color][/td][/tr][/table]說明:命令與用法均與GRANT一樣,特性也一樣,但不做DELETE的動作,只是將權限關閉,真的要刪除時,須用到DELETE命令。[*]對MySQL直接下命令作任何動作,離開MySQL系統時,必須先做即時更新(FLUSH)再離開吧! [table][tr][td][color=#3366ff]mysql>[/color][color=blue] FLUSH PRIVILEGES;[/color][/td][/tr][/table] [*]在作業系統中,檢查權限之命令: [table][tr][td][color=#3366ff][root@test root]#[/color][color=blue] mysqlaccess host user 資料庫名 -U root -P 密碼[/color][/td][/tr][/table]說明:[color=#ff9900]host[/color]->填入您要檢查的來源主機名稱(完整名稱hostname+domainname),若位於本機則填localhost。
   [color=#ff9900]user[/color]-->您要檢查的帳號
   [color=#ff9900]資料庫名[/color]-->填入您要檢查的資料庫名稱
   [color=blue]-U root[/color]-->-u後面填入MySQL管理者的帳號(通常設root)
   [color=blue]-P 密碼[/color]-->-p後面填入MySQL管理者的密碼
例如:我要檢查來自mail.hmes.kh.edu.tw這台機器的root帳號,對資料庫fm的權限為何?
   則在系統下輸入[list=1]  [table][tr][td][color=#3366ff][root@test root]#[/color][color=blue] mysqlaccess mail.hmes.kh.edu.tw fm focalmail -U root -P nnyyjj[/color][/td][/tr][/table]結果為 [table][tr][td][color=#ff99ff]mysqlaccess Version 2.03, 27 Feb 1997[/color]
[color=#ff99ff]By RUG-AIV, by Yves Carlier ([email=Yves.Carlier@rug.ac.be]Yves.Carlier@rug.ac.be[/email])[/color]
[color=#ff99ff]This software comes with ABSOLUTELY NO WARRANTY.[/color]
[color=#ff99ff]+++USING FULL WHERE CLAUSE+++[/color]
[color=#ff99ff]+++USING FULL WHERE CLAUSE+++[/color]
[color=#ff99ff]+++USING FULL WHERE CLAUSE+++[/color] [color=#ff99ff]Access-rights[/color]
[color=#ff99ff]for USER 'fm', from HOST 'mail.hmes.kh.edu.tw', to DB 'focalmail'[/color]
[color=#ff99ff]        +-----------------+---+ +-----------------+---+[/color]
[color=#ff99ff]        | Select_priv     | Y | | Shutdown_priv   | Y |[/color]
[color=#ff99ff]        | Insert_priv     | Y | | Process_priv    | Y |[/color]
[color=#ff99ff]        | Update_priv     | Y | | File_priv       | Y |[/color]
[color=#ff99ff]        | Delete_priv     | Y | | Grant_priv      | Y |[/color]
[color=#ff99ff]        | Create_priv     | Y | | References_priv | Y |[/color]
[color=#ff99ff]        | Drop_priv       | Y | | Index_priv      | Y |[/color]
[color=#ff99ff]        | Reload_priv     | Y | | Alter_priv      | Y |[/color]
[color=#ff99ff]        +-----------------+---+ +-----------------+---+[/color]
[color=#ff99ff]NOTE:    A password is required for user `fm' :-([/color] [color=#ff99ff]The following rules are used:[/color]
[color=#ff99ff]db    : 'No matching rule'[/color]
[color=#ff99ff]host  : 'Not processed: host-field is not empty in db-table.'[/color]
[color=#ff99ff]user  : '','fm','017186377a52afaf','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y''[/color] [color=#ff99ff]BUGs can be reported by email to [email=Yves.Carlier@rug.ac.be]Yves.Carlier@rug.ac.be[/email][/color]
[color=#3366ff][root@test /root]#[/color]
[/td][/tr][/table][/list][/list]
頁: [1]
查看完整版本: MySQL Server 安裝使用手冊