一、[root@sample ~]# yum -y install mysql-server ← 安裝MySQL
.....略
(我安裝時失敗了,原因:使用的源有問題,到/etc/yum.repos.d/目錄將沒用的xiaonei-private.repo刪除掉重次幾次就可以了)
Installed: mysql-server.i386 0:4.1.20-1.RHEL4.1
Dependency Installed: mysql.i386 0:4.1.20-1.RHEL4.1 perl-DBD-MySQL.i386 0:2.9004-3.1 perl-DBI.i386 0:1.40-8
Complete!
二、配置
[root@sample ~]# vi /etc/my.cnf ← 編輯MySQL的配置檔案
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1 ← 找到這一行,在這一行的下面新增新的規則,讓MySQL的預設編碼為UTF-8
default-character-set=utf8 ← 新增這一行
然後在配置檔案的文尾填加如下語句:
[mysql]
default-character-set=utf8
三、啟動MySQL服務
[root@sample ~]# chkconfig mysqld on ← 設定MySQL服務隨系統啟動自啟動
[root@sample ~]# chkconfig --list mysqld ← 確認MySQL自啟動
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 如果2--5為on的狀態就OK
[root@sample ~]# /etc/rc.d/init.d/mysqld start ← 啟動MySQL服務
啟動mysql [確定]
備註:如果這一部執行失敗有可能是/var/lib/mysql 沒有資料庫檔案,
會報【 Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist】或直接失敗,這是需要執行/usr/bin/mysql_install_db命令就OK了。
四、MySQL的root使用者設定密碼
MySQL在剛剛被安裝的時候,它的root使用者是沒有被設定密碼的。首先來設定MySQL的root密碼。
[root@sample ~]# mysql -u root ← 用root使用者登入MySQL伺服器
mysql> select user,host,password from mysql.user; ← 檢視使用者資訊
mysql>set password for root@localhost=password('在這裡填入root密碼'); ← 設定root密碼
mysql>set password for root@域名=password('在這裡填入root密碼');
mysql> delete from mysql.user where user=''; ← 刪除匿名使用者
mysql> exit ← 退出MySQL伺服器【測試設定的密碼是否正確】
五、刪除測試用資料庫
mysql> show databases; ← 檢視系統已存在的資料庫
mysql> drop database test; ← 刪除名為test的空資料庫
六、對MySQL進行測試。包括建立新使用者,以及用對關係性資料庫進行資料庫操作的指令來試著建立資料庫及資料表。這裡,新建使用者以 sleinetpub為例。
[root@sample ~]# mysql -u root -p ← 通過密碼用root登入
Enter password: ← 在這裡輸入密碼
mysql> grant all privileges on test.* to sleinetpub@localhost identified by '在這裡定義密碼'; ← 建立對test資料庫有完全操作許可權的名為sleinetpub的使用者
mysql> select user from mysql.user where user='sleinetpub'; ← 確認sleinetpub使用者的存在與否
mysql> exit ← 退出MySQL伺服器
[root@sample ~]# mysql -u sleinetpub -p ← 用新建立的sleinetpub使用者登入MySQL伺服器
Enter password: ← 在這裡輸入密碼
mysql> create database test; ← 建立名為test的資料庫
mysql> show databases; ← 檢視系統已存在的資料庫
mysql> use test ← 連線到資料庫
mysql> create table test(num int, name varchar(50)); ← 在資料庫中建立表
mysql> show tables; ← 檢視資料庫中已存在的表
mysql> drop table test; ← 刪除表
mysql> show databases; ← 檢視已存在的資料庫
Empty set (0.01 sec) ← 確認test資料庫已被刪除(這裡非root使用者的關係,看不到名為mysql的資料庫)
mysql> exit ← 退出MySQL伺服器
七、刪除測試用過的遺留使用者
[root@sample ~]# mysql -u root -p ← 通過密碼用root登入
Enter password: ← 在這裡輸入密碼
mysql> revoke all privileges on *.* from sleinetpub@localhost; ← 取消sleinetpub使用者對資料庫的操作許可權
mysql> delete from mysql.user where user='sleinetpub' and host='localhost'; ← 刪除sleinetpub使用者
mysql> select user from mysql.user where user='sleinetpub'; ← 查詢使用者sleinetpub,確認已刪除與否
Empty set (0.01 sec) ← 確認sleinetpub使用者已不存在
mysql> flush privileges; ← 重新整理,使以上操作生效
mysql> exit
八、最後,重新啟動一次HTTP服務。
[root@undefined /]# /etc/rc.d/init.d/mysqld stop ← 停止HTTP服務
停止mysql [確定]
[root@undefined /]# /etc/rc.d/init.d/mysqld start ← 啟動HTTP服務
啟動mysql [確定]