centos6.4下安装配置JDK+TOMCAT+MYSQL笔记

在公司测试环境,需要在CENTOS6.4下安装配置JDK+TOMCAT+MYSQL,下面是一个安装笔记留存备用。

一、系统环境和软件包

[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.

卸载过程很简单

#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

2、安装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


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


配置安装

#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 (有关大小写字符)


三、总结

在安装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下还支持管道连接方式。



你可能感兴趣的:(mysql,centos6.4)