MySQL之——CentOS下以RPM方式安裝MySQL5.5,centosmysql5.5
轉載請註明出處:http://blog.csdn.net/l1028386804/article/details/46507735
首先去mySQL官網下載頁面:
http://dev.mysql.com/downloads/mysql/#downloads
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 1Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners. 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 exist121012 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連接埠或者乾脆關掉防火牆。