MySQL 安裝與使用
一什麽是 MySQL MySQL (發音為
My Ess Que Ell
)是 Tcx 公司()開發的一個多人使用
多執行緒的 SQL 資料庫 Server
MySQL 主要的目標在快速
穩定和容易使用
MySQL 可在此 取得
二MySQL 的安裝 本文所使用的 MySQL 版本為 mysql
tar
gz(原始碼檔)
作業環境為 RedHat
+CLE
MySQL 預設情況下會安裝至 /usr/local 目錄下
不過為了日後移除方便
建議將 mysql 獨立安裝在 /usr/local/mysql 目錄
底下為安裝 MySQL 的步驟
取得 mysql
tar
gz 後
於 /usr/local 目錄下解開
# cd /usr/local
# tar zxvf mysql
tar
gz
# cd mysql
設定 configure 安裝選項
選擇安裝目錄 (prefix)以及支援中文 Big
碼(with
charset=big
)
#
/configure
prefix=/usr/local/mysql #
with
charset=big
開始編譯並安裝
# make
# make install
# scripts/mysql_install_db
最後一個步驟是用來產生 MySQL grant tables(會建立一個 mysql 資料庫和一些 tables
用來管理使用 MySQL 的授權資訊
也就是使用者有哪些使用資料庫的權限)
三啟動停止 MySQL 要啟動 MySQL 的方法
(以本文將 MySQL 安裝在 /usr/local/mysql 為例)
# /usr/local/mysql/share/mysql
server start
注意在第一次執行前
須將 mysql
server 設成可執行(chmod
mysql
server)
另外可將這行指令加在 /etc/rc
d/rc
local 檔中
讓 MySQL 在開機時自動啟動
要停止 MySQL 的方法
# /usr/local/mysql/bin/mysqladmin shutdown
如果你為 MySQL Administrator root 帳號(非作業系統的 root)設了密碼
要停止 MySQL 則必須像下列這樣做
MySQL 會詢問你 root 的密碼後才會執行 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 資料庫有自己一套使用者帳號與權限管控方法
所以這邊所指定的 username 與 password 是 MySQL 的使用者與密碼
而不是作業系統的使用者與密碼(當然任何使用者都能執行 mysql
然後以 MySQL 的任何帳號進入使用)
在你第一次安裝好 MySQL 時
MySQL 的管理帳號為 root
沒有設定密碼 (非作業系統的 root)
所以在開始前
請先照下列步驟為 root 設好密碼
使用 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
to server version:
Type
help
for help
mysql>
在下了 mysql
u root mysql 指令
指定以 root 帳號並開啟 mysql 系統資料庫
連線至 MySQL 後
會看到一些提示訊息與 mysql 工具的提示符號
以後大部份的工作皆在此提示符號下完成
更改 MySQL系統管理者 root 密碼
mysql> update user set password=password(
新密碼
) where user=
root
;
Query OK
rows affected (
sec)
Rows matched:
Changed:
Warnings:
mysql> FLUSH PRIVILEGES;
Query OK
rows affected (
sec)
mysql> quit
Bye
注意每個指令後要加上一個分號
;
才會讓 mysql 開始執行
而第二道指令會讓已載入記憶體的 mysql 系統資料庫更新
最後離開 mysql 工具程式
在更新 root 密碼後
日後要與 MySQL 連線的方法為
mysql
u root
p新密碼
或者是這樣
讓 mysql 詢問 root 的密碼
mysql
u root
p
資料庫維護
接下來
我們以簡單的通訊錄資料庫作為例子
來介紹如何用 mysql 工具程式來做資料庫的維護(新增
授權
資料表維護等)
首先
以 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
to server version:
Type
help
for help
mysql> create databae addbook;
Query OK
row affected (
sec)
指定使用 addbook 資料庫
並建立一個 friends 資料表
mysql> use addbook;
Database changed
mysql> create table friends (
> name Char(
)
> telphone VarChar(
)
> icq Char(
)
> address VarChar(
)
> );
Query OK
rows affected (
sec)
新增幾筆資料
並查詢看看
mysql> insert into friends values(
>
maa
台北縣新莊市
> );
Query OK
row affected (
sec)
mysql> insert into friends (name
icq
telphone
address ) Values (
>
cxlin
台北縣
> );
Query OK
row affected (
sec)
mysql> select * from friends;
+
+
+
+
+
| name | telphone | icq | address |
+
+
+
+
+
| maa |
|
| 台北縣新莊市 |
| cxlin |
|
| 台北縣 |
+
+
+
+
+
rows in set (
sec)
第二個 insert 指令指定了資料欄位的插入順序
用法較第一個為彈性
而第一個指令必須依資料表建立結構時的順序插入資料
更新
刪除資料表記錄
mysql> update friends set address =
桃園縣
where name =
cxlin
;
Query OK
row affected (
sec)
Rows matched:
Changed:
Warnings:
mysql> select * from friends where name =
cxlin
;
+
+
+
+
+
| name | telphone | icq | address |
+
+
+
+
+
| cxlin |
|
| 桃園縣 |
+
+
+
+
+
row in set (
sec)
mysql> delete from friends where name =
maa
;
Query OK
row affected (
sec)
mysql> select * from friends;
+
+
+
+
+
| name | telphone | icq | address |
+
+
+
+
+
| cxlin |
|
| 桃園縣 |
+
+
+
+
+
row in set (
sec)
最後
建好資料庫與資料表後
把 addbook 資料庫中所有資料表的使用權限(select
insert
update
delete)授權給 maa@localhost(再次提醒
此處的 maa 為 MySQL 的使用者帳號
而非作業系統的 maa 帳號)
mysql> grant select
insert
update
delete
> on addbook
*
> to maa@localhost identified by
;
Query OK
rows affected (
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
to server version:
Type
help
for help
mysql> status
/mysql Ver
Distrib
for pc
linux
gnu (i
)
Connection id:
Current database: addbook
Current user: maa@localhost
Server version
Protocol version
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql
sock
Uptime:
hours
min
sec
Threads:
Questions:
Slow queries:
Opens:
Flush tables:
Open
From:http://tw.wingwit.com/Article/program/MySQL/201311/29503.html