天天看點

Linux伺服器部署系列之二—MySQL篇

MySQL是linux環境中使用最廣泛的資料庫之一,著名的“LAMP黃金組合”就要用到MySQL。關于MySQL的優點及作用,我就不多講了,網上很多這樣的文章。 今天我們要談的是MySQL伺服器的部署。

<b>一、</b><b> </b><b>安裝</b><b>MySQL</b>

<b>1.</b><b>軟體需求:</b>

mysql-5.0.83-linux-i686.tar.gz

<b> </b>

<b>2. </b><b>檢視系統中是否已經安裝了</b><b>MySQL</b><b>,如果有解除安裝所有以</b><b>mysql</b><b>開頭的包。</b>

# rpm –qa | grep  mysql         //檢視系統中是否已經安裝了MySQL

# rpm –e  mysql-*             //解除安裝所有以mysql開頭的包

# rm –f  /etc/my.cnf            //查找/etc/my.cnf,如果有删除它

<b>3. </b><b>安裝</b><b>MySQL</b>

# useradd  mysql                 //添加用于啟動MySQL的使用者

# groupadd  mysql                //添加用于啟動MySQL的使用者組

# tar  zxvf  mysql-5.0.83-linux-i686.tar.gz

# cp –rf  mysql-5.0.83-linux-i686  /usr/local/

# cd  /usr/local

# mv  mysql-5.0.83-linux-i686  mysql

# cd  /usr/local/mysql

# scripts/mysql_install_db           //初始化授權表

# chgrp –R  mysql  mysql

# chown –R  mysql  mysql/data          //修改MySQL目錄的所有權

# ln –s  /usr/local/mysql/bin/*  /usr/local/bin/

# bin/safe_mysqld  --user=mysql  &amp;              //啟動Mysql ,&amp;表示背景運作

<b>4. </b><b>測試</b>

# mysqladmin  status                         //服務狀态查詢

# mysql                                   //登入Mysql

<b>5. </b><b>配置系統啟動時自動啟動</b><b>MySQL</b>

<b>6. </b><b>修改</b><b>MySQL</b><b>的最大連接配接數</b>

# vi /etc/my.cnf

//添加以下行

說明:

max_connections設定最大連接配接數為1000;max_user_connections設定每使用者最大連接配接數為200;wait_timeout表示200秒後将關閉空閑(IDLE)的連接配接,但是對正在工作的連接配接不影響。

//儲存退出,并重新啟動MySQL,然後使用下面的指令檢視修改是否成功

<b>二、密碼修改</b>

1. Mysql安裝好後,root使用者預設是沒有密碼的,是以我們需要給它添加一個密碼。格式如下:

# mysqladmin  -u  root  password  密碼

比如,要将root的密碼設為123456,

# mysqladmin  -u  root  password  123456

2. 添加密碼後再連接配接伺服器,就需要用以下格式的指令了:

# mysql  -h  主機名或IP位址  -u  使用者名  -p

比如,登入本機資料庫:

# mysql  -h  localhost  -root  -p

3. 如果使用者已經有密碼了,需要修改密碼,那麼需要按以下格式更改密碼:

# mysqladmin  -u  root  -p  password  密碼

比如,将root使用者的密碼改為abc123

# mysqladmin  -u  root  -p  password  abc123

<b>三、備份</b>

<b>1. </b><b>線上備份</b>

線上備份有兩種方式,使用mysqldump指令或mysqlhotcopy指令。

1)mysqldump指令

  A. 導出指定資料庫的表,如果不指定tables,将導出整個資料庫的所有表:

    # mysqldump  [options]  database  [tables]

  B. 可同時導出多個資料庫

# mysqldump  [options]  --database  [options]  db1 [db2 db3 …..]

  C. 導出目前伺服器内的所有資料庫

# mysqldump  [options]  -all-database  [options]

  D. 如果忘記mysqldump的參數,可以使用如下指令查找:

# mysqldump  -help

2) mysqlhotcopy指令

  Mysqlhotcopy指令是将某個資料庫複制為一個新的資料庫副本,而不中止原資料庫服務,格式如下:

# mysqlhotcopy  db_name

<b>2. </b><b>離線備份</b>

  離線備份可以使用gzip方式将資料庫壓縮成.tgz檔案,比如,将/usr/local/mysql下的資料庫采用gzip方式壓縮到/backup/mysql.tgz檔案中:

  # tar  cvfz  /backup/mysql.tgz  /usr/local/mysql

<b>四、故障恢複</b>

  資料庫運作久了,偶爾會産生一些故障,這時候我們可以通過myisamchk指令進行恢複,格式如下:

  #myisamchk  [options]  tables [.MYI]          //tables[.MYI]是指資料表所在的檔案名

如果隻是簡單出錯,可以使用快速恢複:

  #myisamchk  -r  -q  table_name

如果快速恢複不了了,可以使用直接恢複:

  #myisamchk  -r  table_name

如果直接恢複也不行了,可以使用安全恢複:

  #myisamchk  -safe-recover  table_name

<b>五、使用</b><b>phpMyAdmin</b><b>實作</b><b>web</b><b>管理</b>

<b>1. </b><b>安裝</b>

1)軟體需求

phpMyAdmin-3.2.0-all-languages

2)安裝

<b>2. </b><b>配置</b>

phpMyAdmin的配置檔案主要是phpMyAdmin目錄下的config.inc.php,預設情況下該檔案為config.sample.inc.php,需要将其先修改為config.inc.php。

<b></b>

可以根據需要,修改以下行:

<b>說明:</b>

$cfg['Servers'][$i]['host'] = 'localhost';     //資料庫伺服器

$cfg['Servers'][$i]['auth_type'] = 'config';  //登入方式,在自己的機子裡調試用config,如果在網上用http或cookie。

$cfg['Servers'][$i]['user'] = 'root';    //資料庫使用者名

$cfg['Servers'][$i]['password'] = '';   //資料庫密碼

$cfg['Servers'][$i]['only_db'] = '';    //資料庫名稱

$cfg['DefaultLang'] = 'zh';         //中文顯示預設

<b>3. </b><b>測試</b>

輸入資料的使用者名和密碼後,就可以打開Web管理界面了,如下圖:

通過Web管理MySQL資料庫要直覺許多,不過,這個要看個人習慣、愛好。

MySQL的部署完成,結合上一篇文“Linux伺服器部署系列之一—Apache篇”(http://guoxuemin.blog.51cto.com/379574/168534),就可以配置出著名的“LAMP黃金組合”。

     本文轉自Tonyguo 51CTO部落格,原文連結:http://blog.51cto.com/tonyguo/168810,如需轉載請自行聯系原作者