MySQL 安裝
Linux/UNIX上安裝Mysql
Linux平臺(tái)上推薦使用RPM包來安裝Mysql,MySQL AB提供了以下RPM包的下載地址:
- MySQL - MySQL服務(wù)器。你需要該選項(xiàng),除非你只想連接運(yùn)行在另一臺(tái)機(jī)器上的MySQL服務(wù)器。
- MySQL-client - MySQL 客戶端程序,用于連接并操作Mysql服務(wù)器。
- MySQL-devel - 庫和包含文件,如果你想要編譯其它MySQL客戶端,例如Perl模塊,則需要安裝該RPM包。
- MySQL-shared - 該軟件包包含某些語言和應(yīng)用程序需要?jiǎng)討B(tài)裝載的共享庫(libmysqlclient.so*),使用MySQL。
- MySQL-bench - MySQL數(shù)據(jù)庫服務(wù)器的基準(zhǔn)和性能測試工具。
以下安裝Mysql RMP的實(shí)例是在SuSE Linux系統(tǒng)上進(jìn)行,當(dāng)然該安裝步驟也適合應(yīng)用于其他支持RPM的Linux系統(tǒng),如:Centos。
安裝步驟如下:
使用root用戶登陸你的Linux系統(tǒng)。
下載Mysql RPM包,下載地址為:MySQL 下載。
通過以下命令執(zhí)行Mysql安裝,rpm包為你下載的rpm包:
1
|
[root@host] # rpm -i MySQL-5.0.9-0.i386.rpm |
以上安裝mysql服務(wù)器的過程會(huì)創(chuàng)建mysql用戶,并創(chuàng)建一個(gè)mysql配置文件my.cnf。
你可以在/usr/bin和/usr/sbin中找到所有與MySQL相關(guān)的二進(jìn)制文件。所有數(shù)據(jù)表和數(shù)據(jù)庫將在/var/lib/mysql目錄中創(chuàng)建。
以下是一些mysql可選包的安裝過程,你可以根據(jù)自己的需要來安裝:
1
2
3
4
|
[root@host] # rpm -i MySQL-client-5.0.9-0.i386.rpm [root@host] # rpm -i MySQL-devel-5.0.9-0.i386.rpm [root@host] # rpm -i MySQL-shared-5.0.9-0.i386.rpm [root@host] # rpm -i MySQL-bench-5.0.9-0.i386.rpm |
Window上安裝Mysql
Window上安裝Mysql相對來說會(huì)較為簡單,你只需要載 MySQL 下載中下載window版本的mysql安裝包,并解壓安裝包。
雙擊 setup.exe 文件,接下來你只需要安裝默認(rèn)的配置點(diǎn)擊"next"即可,默認(rèn)情況下安裝信息會(huì)在C:\mysql目錄中。
接下來你可以通過"開始" =》在搜索框中輸入 " cmd" 命令 =》 在命令提示符上切換到 C:\mysql\bin 目錄,并輸入一下命令:
1
|
mysqld.exe --console |
如果安裝成功以上命令將輸出一些mysql啟動(dòng)及InnoDB信息。
驗(yàn)證Mysql安裝
在成功安裝Mysql后,一些基礎(chǔ)表會(huì)表初始化,在服務(wù)器啟動(dòng)后,你可以通過簡單的測試來驗(yàn)證Mysql是否工作正常。
使用 mysqladmin 工具來獲取服務(wù)器狀態(tài):
使用 mysqladmin 命令倆檢查服務(wù)器的版本,在linux上該二進(jìn)制文件位于 /usr/bin on linux ,在window上該二進(jìn)制文件位于C:\mysql\bin 。
1
|
[root@host] # mysqladmin --version |
linux上該命令將輸出以下結(jié)果,該結(jié)果基于你的系統(tǒng)信息:
1
|
mysqladmin Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386 |
如果以上命令執(zhí)行后未輸入任何信息,說明你的Mysql未安裝成功。
使用 MySQL Client(Mysql客戶端) 執(zhí)行簡單的SQL命令
你可以在 MySQL Client(Mysql客戶端) 使用 mysql 命令連接到Mysql服務(wù)器上,默認(rèn)情況下Mysql服務(wù)器的密碼為空,所以本實(shí)例不需要輸入密碼。
命令如下:
1
|
[root@host] # mysql |
以上命令執(zhí)行后會(huì)輸出 mysql>提示符,這說明你已經(jīng)成功連接到Mysql服務(wù)器上,你可以在 mysql> 提示符執(zhí)行SQL命令:
1
|
mysql> SHOW DATABASES;<br> |
1
2
3
4
5
6
7
|
+----------+ | Database | +----------+ | mysql | | test | +----------+ 2 rows in set (0.13 sec) |
Mysql安裝后需要做的
Mysql安裝成功后,默認(rèn)的root用戶密碼為空,你可以使用以下命令來創(chuàng)建root用戶的密碼:
1
|
[root@host] # mysqladmin -u root password "new_password"; |
現(xiàn)在你可以通過以下命令來連接到Mysql服務(wù)器:
1
|
[root@host] # mysql -u root -p |
1
|
Enter password:******* |
注意:在輸入密碼時(shí),密碼是不會(huì)顯示了,你正確輸入即可。
Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng) MySQL
如果你需要在Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng) MySQL 服務(wù)器,你需要在 /etc/rc.local 文件中添加以下命令:
1
|
/etc/init.d/mysqld start |
同樣,你需要將 mysqld 二進(jìn)制文件添加到 /etc/init.d/ 目錄中。
MySQL 管理
啟動(dòng)及關(guān)閉 MySQL 服務(wù)器
首先,我們需要通過以下命令來檢查MySQL服務(wù)器是否啟動(dòng):
1
|
ps -ef | grep mysqld |
如果MySql已經(jīng)啟動(dòng),以上命令將輸出mysql進(jìn)程列表, 如果mysql未啟動(dòng),你可以使用以下命令來啟動(dòng)mysql服務(wù)器:
1
2
|
root@host # cd /usr/bin . /mysqld_safe & |
如果你想關(guān)閉目前運(yùn)行的 MySQL 服務(wù)器, 你可以執(zhí)行以下命令:
1
2
|
root@host # cd /usr/bin . /mysqladmin -u root -p shutdown |
1
|
Enter password: ****** |
MySQL 用戶設(shè)置
如果你需要添加 MySQL 用戶,你只需要在 mysql 數(shù)據(jù)庫中的 user 表添加新用戶即可。
以下為添加用戶的的實(shí)例,用戶名為guest,密碼為guest123,并授權(quán)用戶可進(jìn)行 SELECT, INSERT 和 UPDATE操作權(quán)限:
1
|
root@host # mysql -u root -p |
1
|
Enter password:******* |
1
|
mysql> use mysql; |
1
|
Database changed |
1
2
3
4
5
|
mysql> INSERT INTO user (host, user , password , select_priv, insert_priv, update_priv) VALUES ( 'localhost' , 'guest' , PASSWORD ( 'guest123' ), 'Y' , 'Y' , 'Y' ); |
1
|
Query OK, 1 row affected (0.20 sec) |
1
|
mysql> FLUSH PRIVILEGES ; |
1
|
Query OK, 1 row affected (0.01 sec) |
1
|
mysql> SELECT host, user , password FROM user WHERE user = 'guest' ; |
1
2
3
4
5
6
|
+-----------+---------+------------------+ | host | user | password | +-----------+---------+------------------+ | localhost | guest | 6f8c114b58f2ce9e | +-----------+---------+------------------+ 1 row in set (0.00 sec) |
在添加用戶時(shí),請注意使用MySQL提供的 PASSWORD() 函數(shù)來對密碼進(jìn)行加密。 你可以在以上實(shí)例看到用戶密碼加密后為: 6f8c114b58f2ce9e.
注意:在注意需要執(zhí)行 FLUSH PRIVILEGES 語句。 這個(gè)命令執(zhí)行后會(huì)重新載入授權(quán)表。 如果你不使用該命令,你就無法使用新創(chuàng)建的用戶來連接mysql服務(wù)器,除非你重啟mysql服務(wù)器。
你可以在創(chuàng)建用戶時(shí),為用戶指定權(quán)限,在對應(yīng)的權(quán)限列中,在插入語句中設(shè)置為 'Y' 即可,用戶權(quán)限列表如下:
- Select_priv
- Insert_priv
- Update_priv
- Delete_priv
- Create_priv
- Drop_priv
- Reload_priv
- Shutdown_priv
- Process_priv
- File_priv
- Grant_priv
- References_priv
- Index_priv
- Alter_priv
另外一種添加用戶的方法為通過SQL的 GRANT 命令,你下命令會(huì)給指定數(shù)據(jù)庫TUTORIALS添加用戶 zara ,密碼為 zara123 。
1
|
root@host # mysql -u root -p password; |
1
|
Enter password:******* |
1
|
mysql> use mysql; |
1
|
Database changed |
1
2
3
4
|
mysql> GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP -> ON TUTORIALS.* -> TO 'zara' @ 'localhost' -> IDENTIFIED BY 'zara123' ; |
以上命令會(huì)在mysql數(shù)據(jù)庫中的user表創(chuàng)建一條用戶信息記錄。
注意: MySQL 的SQL語句以分號 (;) 作為結(jié)束標(biāo)識(shí)。
/etc/my.cnf 文件配置
一般情況下,你不需要修改該配置文件,該文件默認(rèn)配置如下:
1
2
3
4
5
6
7
8
9
10
11
|
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysql.server] user=mysql basedir=/var/lib [safe_mysqld] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid |
在配置文件中,你可以指定不同的錯(cuò)誤日志文件存放的目錄,一般你不需要改動(dòng)這些配置。
管理MySQL的命令
以下列出了使用Mysql數(shù)據(jù)庫過程中常用的命令:
- USE 數(shù)據(jù)庫名 :選擇要操作的Mysql數(shù)據(jù)庫,使用該命令后所有Mysql命令都只針對該數(shù)據(jù)庫。
- SHOW DATABASES: 列出 MySQL 數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫列表。
- SHOW TABLES: 顯示指定數(shù)據(jù)庫的所有表,使用該命令前需要使用 use 命令來選擇要操作的數(shù)據(jù)庫。
- SHOW COLUMNS FROM 數(shù)據(jù)表: 顯示數(shù)據(jù)表的屬性,屬性類型,主鍵信息 ,是否為 NULL,默認(rèn)值等其他信息。
- SHOW INDEX FROM 數(shù)據(jù)表: 顯示數(shù)據(jù)表的詳細(xì)索引信息,包括PRIMARY KEY(主鍵)。
- SHOW TABLE STATUS LIKE 數(shù)據(jù)表\G: 該命令將輸出Mysql數(shù)據(jù)庫管理系統(tǒng)的性能及統(tǒng)計(jì)信息。