本文描述了mysql之—centos下以rpm方式安裝mysql5.5詳細介紹,具有參考價值,下面一起分析下
首先去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?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端口或者干脆關掉防火墻。