

一、系统环境和软件包 
[root@localhost /]# uname -r 
2.6.32-358.el6.x86_64 
[root@localhost /]# cat /etc/centos-release 
CentOS release 6.4 (Final) 
软件包 
jdk-6u43-linux-x64-rpm.bin 
apache-tomcat-6.0.36.tar.gz 
mysql-5.5.23.tar.gz
二、安装配置 
1、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. 
卸载过程很简单
或是
安装SUN公司的JDK
java version “1.6.0_43” 
Java SE Runtime Environment (build 1.6.0_43-b01) 
Java HotSpot 64-Bit Server VM (build 20.14-b01, mixed mode)
2、安装TOMCAT 
将TOMCAT包放到/usr/tomcat下
这样就安装完了,设置一下环境变量
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
启动TOMCAT
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
3、mysql 
mysql 5.x的新版本一般都需要cmake编译安装,在这里我们安装的是mysql5.5.23版,在此记录一下CMAKE的安装步骤及过程,以供后续参考。
如果在编译安装过程中发现有缺失的工具包,用yum install 单独下载安装再继续即可。
以下安装中涉及的几点需要提前说明的问题:
mysql 将被安装在 /usr/local/mysql/ 目录下
mysql 默认安装使用 utf8 字符集
mysql 的数据和日志文件保存在 /var/mysql/ 对应目录下
mysql 的配置文件保存于/etc/my.cnf
配置安装
(可以配置本地YUM源或外部镜像源)
如果安装过程中遇到错误 
清除缓存: 
make clean 
rm CMakeCache.txt 
再继续进行
然后vi /etc/my.cnf 
编辑配置文件,在 [mysqld] 部分增加 
datadir = /var/mysql/data #添加MySQL数据库路径
进入scripts目录,执行
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次密码 
或者直接修改密码/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 
即可以了。
另外MYSQL默认是只能本地访问,如果远程访问需要进行设置 
建立用户:testuser,并授权可远程访问 
以root身份连接至mysql
提示输入密码,输入mysql 
建立testuser账户 
mysql>CREATE USER “testuser " IDENTIFIED BY “test123456”; 
授权testuser权限 
mysql> GRANTALL PRIVILEGES ON . TO “testuser”@“%” IDENTIFIED BY “testuser的密码”; 
刷新权限生效 
mysql> FLUSHPRIVILEGES; 
mysql>quit
三、总结 
在安装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下还支持管道连接方式。
