1. 程式人生 > >MySQL之——CentOS下以RPM方式安裝MySQL5.5

MySQL之——CentOS下以RPM方式安裝MySQL5.5

首先去mySQL官網下載頁面:

Select Platform 選擇  Oracle & Red Hat Linux 4 & 5

分別下載以下三個檔案(由於我的機器是32位,下面是32位版本的包,如果你的機器是64位的請下載64位版本):

1. Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package
MySQL Server

2. Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package
Client Utilities

3. Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package
Development Libraries

使用wget命令使用斷點傳輸的方式將這三個檔案下載

wget -c http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-server-5.5.28-1.rhel5.i386.rpm                                                                        
wget -c http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-client-5.5.28-1.rhel5.i386.rpm                                                                        
wget -c http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-devel-5.5.28-1.rhel5.i386.rpm
下載完成後開始安裝: rpm -ivh MySQL-server-5.5.28-1.rhel5.i386.rpm rpm -ivh MySQL-client-5.5.28-1.rhel5.i386.rpm rpm -ivh MySQL-devel-5.5.28-1.rhel5.i386.rpm 如果安裝途中出錯:
error: Failed dependencies:                                                                 
        libaio.so.1()(64bit) is needed by MySQL-server-5.5.28-1.rhel5.x86_64                                                                 
        libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.28-1.rhel5.x86_64                                                                  
        libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.28-1.rhel5.x86_64
是依賴庫缺少,安裝依賴庫即可
yum install libaio
提示安裝完成後,輸入mysql 看是否安裝成功
mysql

如果沒有反應或者出現如下錯誤資訊:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

說明mysql服務還沒有啟動,輸入service mysql start啟動mysql服務

service mysql start
然後再輸入mysql,若出現以下提示資訊,說明成功。
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.16 MySQL Community Server (GPL)
                                                            
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
                                                            
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
                                                            
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
如果出現錯誤
Starting MySQL.... ERROR! The server quit without updating PID file (/var/lib/mysql/lechiexxxxx.pid).

根據錯誤地址 檢視日誌檔案

這裡的地址是 /var/lib/mysql/

日誌名稱一般為 伺服器名.err

打開發現有這麼一句:

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
121012 15:12:05 mysqld_safe mysqld from pid file /var/lib/mysql/lechiexxxxxx.pid ended

所以是少了表。

執行表的初始化

/usr/bin/mysql_install_db
之後執行啟動還是失敗,檢視日誌:
[ERROR] Failed to open log (file './mysql-bin.000004', errno 13)
應該是沒有許可權了,賦予mysql許可權
chown -R mysql:mysql /var/lib/mysql/

之後重新執行 service mysql start 啟動服務,success!

可以啟動守護程序

/usr/bin/mysqld_safe &
我一般是一直回車幾次退出 putty或secureCRT,然後重開一個會話即可

【問題】

mysql安裝後裝到哪裡去了?一般在以下資料夾裡

/usr/share/mysql/ 或者 /usr/lib/mysql/ 或者 /var/lib/mysql/

可以通過指令:

whereis mysql
來檢視到底安裝到哪裡去了。

【初始化設定】

rpm包安裝的MySQL是不會安裝/etc/my.cnf檔案的,解決方法,只需要複製/usr/share/mysql目錄下的my-huge.cnf 檔案到/etc目錄,並改名為my.cnf即可

cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

【設定密碼】

首次安裝時,預設密碼為空,可以使用如下命令修改root密碼,

/usr/bin/mysqladmin -u root  password 新密碼XXXXX
例如: /usr/bin/mysqladmin -u root password 123456

然後再次登入

mysql -u root –p新密碼XXXXX

修改登入密碼

這是通過mysqladmin命令修改口令,也可通過修改庫來更改口令。

【目錄說明】

1、資料庫目錄

/var/lib/mysql/

2、配置檔案

/usr/share/mysql(mysql.server命令及配置檔案)

3、相關命令

/usr/bin(mysqladmin mysqldump等命令)

4、啟動指令碼

/etc/rc.d/init.d/(啟動指令碼檔案mysql的目錄)

【啟動與停止】

1、啟動

MySQL安裝完成後啟動檔案mysql在/etc/init.d目錄下,在需要啟動時執行下面命令即可。

/etc/init.d/mysql start

或者

/etc/rc.d/init.d/mysql start

2、停止

/usr/bin/mysqladmin -u root -p shutdown

3、自動啟動

1)察看mysql是否在自動啟動列表中

/sbin/chkconfig –list

2)把MySQL新增到你係統的啟動服務組裡面去

/sbin/chkconfig – add mysql

3)把MySQL從啟動服務組裡面刪除。

/sbin/chkconfig – del mysql

【更改MySQL目錄】

MySQL預設的資料檔案儲存目錄為/var/lib/mysql。

假如要把目錄移到/home/data下需要進行下面幾步:

1、home目錄下建立data目錄

cd /home

mkdir data

記得賦予許可權:

chown -R mysql:mysql /home/data

2、把MySQL服務程序停掉:

mysqladmin -u root -p shutdown

3、把/var/lib/mysql整個目錄移到/home/data

mv /var/lib/mysql /home/data/

這樣就把MySQL的資料檔案移動到了/home/data/mysql下

4、找到my.cnf配置檔案

如果/etc/目錄下沒有my.cnf配置檔案,請到/usr/share/mysql/下找到*.cnf檔案,

拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、編輯MySQL的配置檔案/etc/my.cnf

為保證MySQL能夠正常工作,需要指明mysql.sock檔案的產生位置。

修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值

為:/home/mysql/mysql.sock 。操作如下:

vi my.cnf ##用vi工具編輯my.cnf檔案,找到下列資料修改之

# The MySQL server

[mysqld]

port = 3306

#socket = /var/lib/mysql/mysql.sock     ##原內容,為了更穩妥用“#”註釋此行

socket = /home/data/mysql/mysql.sock #加上此行

6、修改MySQL啟動指令碼/etc/rc.d/init.d/mysql

最後,需要修改MySQL啟動指令碼/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存

放路徑:home/data/mysql。

vi /etc/rc.d/init.d/mysql

#datadir=/var/lib/mysql##註釋此行

datadir=/home/data/mysql ##加上此行

7、重新啟動MySQL服務

/etc/rc.d/init.d/mysql start

或用reboot命令重啟Linux

如果工作正常移動就成功了,否則對照前面的7步再檢查一下。

【配置遠端訪問】

處於安全考慮,Mysql預設是不允許遠端訪問的,可以使用下面開啟遠端訪問

//賦予任何主機訪問資料的許可權
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION

//使修改生效
mysql>FLUSH PRIVILEGES

如果依然不能遠端訪問的話,那就很可能防火牆的原因了,可以在防火牆中開啟3306埠或者乾脆關掉防火牆。