在公司測試環境,須要在CENTOS6.4下安裝配置JDK+TOMCAT+MYSQL,下面是一個安裝筆記留存備用。php
1、系統環境和軟件包java
[root@localhost /]# uname -r node
2.6.32-358.el6.x86_64mysql
[root@localhost /]# cat /etc/centos-releaselinux
CentOS release 6.4 (Final)c++
軟件包sql
jdk-6u43-linux-x64-rpm.bin數據庫
apache-tomcat-6.0.36.tar.gzapache
mysql-5.5.23.tar.gzbootstrap
2、安裝配置
一、JDK
首先查看centos自帶的JDK是否已安裝,用命令java -version ,若是顯示有下面的信息:
java version 「1.6.0″
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
說明已安裝openjdk1.6,這個包功能有限,最好仍是先卸載掉openjdk,再安裝sun公司的jdk.
卸載過程很簡單
#rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
或是
#yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
#yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
安裝SUN公司的JDK
#chmod a+x jdk-6u43-linux-x64-rpm.bin
#./jdk-6u43-linux-x64-rpm.bin (路徑默認在/usr/java)
#java -version
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)
若是直接是BIN包,則須要在/ETC/profile裏設置,才能java -version
二、安裝TOMCAT
將TOMCAT包放到/usr/tomcat下
#tar -zxvf apache-tomcat-6.0.36.tar.gz
#mv apache-tomcat-6.0.36 tomcat
這樣就安裝完了,設置一下環境變量
#vi /etc/profile 加入以下語句
JAVA_HOME=/usr/java/jdk1.6.0_43
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export PATH CLASSPATH JAVA_HOME
export CATALINA_BASE=/usr/tomcat/tomcat
export CATALINA_HOME=/usr/tomcat/tomcat
#source /etc/profile (使環境變量生效)
啓動TOMCAT
#cd bin
#./startup.sh
Using CATALINA_BASE: /usr/tomcat/tomcat
Using CATALINA_HOME: /usr/tomcat/tomcat
Using CATALINA_TMPDIR: /usr/tomcat/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.6.0_43
Using CLASSPATH: /usr/tomcat/tomcat/bin/bootstrap.jar
[root@localhost bin]# netstat -an|grep :8080
tcp 0 0 :::8080 :::* LISTEN
三、mysql
mysql 5.x的新版本通常都須要cmake編譯安裝,在這裏咱們安裝的是mysql5.5.23版,在此記錄一下CMAKE的安裝步驟及過程,以供後續參考。
若是在編譯安裝過程當中發現有缺失的工具包,用yum install 單獨下載安裝再繼續便可。
如下安裝中涉及的幾點須要提早說明的問題:
mysql 將被安裝在 /usr/local/mysql/ 目錄下
mysql 默認安裝使用 utf8 字符集
mysql 的數據和日誌文件保存在 /var/mysql/ 對應目錄下
mysql 的配置文件保存於/etc/my.cnf
配置安裝
#useradd mysql
#passwd mysql
#groupadd mysql
#useradd -g mysql mysql
#mkdir -p /usr/local/mysql
#mkdir -p /var/mysql/data
#chown -R mysql:mysql /usr/local/mysql
#chmod -R 755 /usr/local/mysql
#chown -R mysql:mysql /var/mysql
#chmod -R 755 /var/mysql
#yum -y install cmake bison ncurses ncurses-devel gcc-c++ libstdc++
(能夠配置本地YUM源或外部鏡像源)
#tar zxvf mysql-5.5.23.tar.gz
#cd mysql-5.5.23
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/mysql/data (--without-debug --all-static)
若是安裝過程當中遇到錯誤
清除緩存:
make clean
rm CMakeCache.txt
再繼續進行
#make && make install
#ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
#cd /usr/local/mysql/support-files/
#cp my-large.cnf /etc/my.cnf (注意:my-large.cnf適用於1G內存左右的服務器,能夠根據本身配置狀況選用my-large.cnf 或 my-huge.cnf 等不一樣配置)
而後vi /etc/my.cnf
編輯配置文件,在 [mysqld] 部分增長
datadir=/var/mysql/data #添加MySQL數據庫路徑
進入scripts目錄,執行
# ./mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
這樣就生成了mysql系統數據庫
而後設置MYSQL服務
cp ./support-files/mysql.server /etc/init.d/mysqld #把Mysql加入系統啓動
chmod a+x /etc/init.d/mysqld #增長執行權限
chkconfig --add mysqld
chkconfig --level 345 mysqld on
vi /etc/init.d/mysqld #編輯
basedir =/usr/local/mysql #MySQL程序安裝路徑 (注意=號無空格)
datadir =/var/mysql/data #MySQl數據庫存放目錄(注意=號無空格)
[root@localhost data]# service mysqld start
Starting MySQL... SUCCESS!
[root@localhost data]# netstat -an|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
到此,mysql安裝完成!
在/etc/profile裏把mysql服務加入系統環境變量,在最後添加下面這一行
export PATH=$PATH:/usr/local/mysql/bin
下面這兩行把myslq的庫文件連接到系統默認的位置,這樣你在編譯相似PHP等軟件時能夠不用指定mysql的庫文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
shutdown -r now #須要重啓系統,等待系統從新啓動以後繼續在終端命令行下面操做
mysql_secure_installation #設置Mysql密碼
根據提示按Y 回車輸入2次新密碼
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
或者直接修改密碼/usr/local/mysql/bin/mysqladmin -u root -p password "mysql" #修改密碼
service mysqld restart #重啓
當設置密碼或鏈接MYSQL時出現Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
能夠執行此句來解決
[root@localhost data]#rm -rf /tmp/mysql.sock
在你啓動MYSQL後,會在/var/lib/mysql下有mysql.sock文件
[root@localhost data]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock (要使用絕對路徑)
還出錯的話,使用
[root@localhost /]# mysql -u root -p -S /var/lib/mysql/mysql.sock
可跳過密碼驗證登陸
mysql> update mysql.user set password=password("mysql") where user='root';
mysql> flush privileges;
mysql>quit
便可以了。
注:若是沒有跳過去,則能夠試試。建一個/var/lib/mysql的目錄,賦予權限mysql用戶和組的權限,而後修改my.cnf,把裏面的client和mysqld中的socket修改成/var/lib/mysql/mysql.sock。再而後把MYSQL進程殺了再啓再執行帶-S那句,就能夠跳過密碼驗證了。
另外MYSQL默認是隻能本地訪問,若是遠程訪問須要進行設置
創建用戶:testuser,並受權可遠程訪問
以root身份鏈接至mysql
#mysql -u root -p
提示輸入密碼,輸入mysql
創建testuser帳戶
mysql>CREATE USER "testuser " IDENTIFIED BY "test123456";
受權testuser權限
mysql> grant all privileges on *.* to "testuser" identified by "test123456";
刷新權限生效
mysql>flush privileges;
mysql>quit
my.cnf裏改這個lower_case_table_names=1 (有關大小寫字符)
3、總結
在安裝MYSQL的過程當中,你們很容易碰到這個MYSQL.SOCK問題。
其實這個mysql.sock是mysql的主機和客戶機在同一host上的時候,使用unix domain socket作爲通信協議的一個載體。
Mysql一般有兩種鏈接方式:
(1)TCP/IP
(2)socket
對mysql.sock來講,其做用是程序與mysqlserver處於同一臺機器,發起本地鏈接時可用SOCKET。
你也能夠指定IP地址,使用TCP方式鏈接而不是用本地SOCK方式
[root@localhost mysql]# mysql -h 127.0.0.1 -u root -p mysql
也能夠直接登陸
mysql.sock是隨每一次 mysql server啓動生成的。若是你在更改完my.cnf後重啓mysql,它將從新生成,信息已跟着變動。那麼對於外部鏈接,也可變動port鏈接的。
linux下安裝mysql鏈接的時候常常會提示說找不到mysql.sock文件,解決辦法也很簡單:
若是是新安裝的mysql,提示找不到此文件,就搜索下,在/etc/my.cnf中指定正確的位置並在系統中作好軟連接。
若是mysql.sock文件誤刪的話,就須要重啓mysql服務,若是重啓成功的話會在datadir目錄下面生成mysql.sock,到時候指定便可。
若是還不行就選擇用TCP鏈接方式鏈接就好了,其在windows下還支持管道鏈接方式。
本文同步分享在 博客「xjsunjie」(51CTO)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。