Linux下编译安装jdk、tomcat MySQL5.6.10
1、安装jdk-7-linux-i586.tar.gz
tar -zxvf jdk-7-linux-i586.tar.gz
mkdir /usr/java
mv jdk1.7.0 /usr/java/jdk1.7.0
vi /etc/profile 在末尾添加变量
JAVA_HOME=/usr/java/jdk1.7.0_45
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATHCLASSPATH
退出时按ESC 输入:wq保存退出
source /etc/profile 使环境变量生效
输入“java –version” 检测是否安装成功
出现:java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)证明安装成功
错误:-bash: /usr/java/jdk1.7.0/bin/java: /lib/ld-linux.so.2: bad ELFinterpreter:
是因为64位系统中安装了32位程序
yum install glibc.i686
yum install libstdc++.so.6
2、 安装apache-tomcat-7.0.11.tar.gz
tar -zxvfapache-tomcat-7.0.11.tar.gz
mv apache-tomcat-7.0.1 /opt/tomcat
vi /etc/profile 在末尾添加变量
export CATAINA_HOME=/opt/tomcat
按下ESC,然后输入:wq,保存退出
source /etc/profile 使环境变量生效
cd /opt/tomcat/bin
./startup.sh
tomcat配置完成打开浏览器输入http://localhost:8080;就可以访问tomcat服务器。
netstat -tulnp | grep 8080 --查看端口是否启用
tail -f /opt/tomcat/logs/catalina.out /打印日志信息
----------------------Linux下修改TomcatJVM内存大小----------------------
要添加在tomcat 的bin 下catalina.sh里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m-XX:MaxPermSize=256m"
cygwin=false
linux 下 启动tomcat报:
Neither the JAVA_HOME nor the JRE_HOMEenvironment variable is defined
At least one of these environment variableis needed to run this program
先看Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat。只要在setclasspath.bat的开头声明环境变量,打开tomcat的bin目录下面的setclasspath.sh,添加红色部分,路径自己修改。windows 下用set。
#!/bin/sh
# -----------------------------------------------------
# Set CLASSPATH and Javaoptions
#
# $Id: setclasspath.sh 467182 2006-10-2323:47:06Z markt $
#------------------------------------------------------
export JAVA_HOME=/usr/lib/jvm/java-7-sun
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(红色部分)
export JRE_HOME=/usr/lib/jvm/java-7-sun/jre
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(红色部分)
# First clear out the user classpath
CLASSPATH=
# Make sure prerequisite environmentvariables are set
if [ -z "$JAVA_HOME" -a -z"$JRE_HOME" ]; then
# Bugzilla 37284
3、安装msyql
编译安装MySQL前的准备工作
3.1安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl make
tar -xzvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
make
make install
cd
3.2设置MySQL用户和组
新增mysql用户组:groupadd mysql
新增mysql用户:useradd -r -g mysql mysql
3.3新建MySQL所需要的目录
新建mysql安装目:mkdir -p /usr/local/mysql
新建mysql数据库数据文件目录:mkdir -p /usr/data/mysqldb
3.4安装MySQL源码包并解压
解压mysql-5.6.4.tar.gz
tar -zxv -f mysql-5.6.4.tar.gz
cd mysql-5.6.4-m7
3.5、编译安装MySQL设置编译参数
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/data/mysqldb \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
注:
-DCMAKE_INSTALL_PREFIX=dir_name |
设置mysql安装目录 |
-DMYSQL_UNIX_ADDR=file_name |
设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock的中。 |
-DDEFAULT_CHARSET=charset_name |
设置服务器的字符集。缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。 cmake/character_sets.cmake文件包含允许的字符集名称列表。 |
-DDEFAULT_COLLATION=collation_name |
设置服务器的排序规则。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 |
存储引擎选项: MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。 静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1。 可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和 PERFSCHEMA (Performance Schema). |
-DMYSQL_DATADIR=dir_name |
设置mysql数据库文件目录 |
-DMYSQL_TCP_PORT=port_num |
设置mysql服务器监听端口,默认为3306 |
-DENABLE_DOWNLOADS=bool |
是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 |
注:重新运行配置,需要删除CMakeCache.txt文件
rm CMakeCache.txt
•编译源码
make
•安装
make install
3.6、修改mysql目录所有者和组
•修改mysql安装目录:cd /usr/local/mysql
chown -Rmysql:mysql .
•修改mysql数据库文件目录:cd /usr/data/mysqldb
chown -Rmysql:mysql .
3.7、初始化mysql数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql--datadir=/usr/data/mysqldb
3.8、复制mysql服务启动配置文件
cp/usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
注:如果/etc/my.cnf文件存在,则覆盖。
3.9、复制mysql服务启动脚本及加入PATH路径
cp /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld
vi /etc/profile
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
source /etc/profile
chkconfig mysqld on
3.10、启动mysql服务并加入开机自启动
service mysqld start chkconfig --level 35 mysqld on
提示:Starting MySQL.. ERROR! The server quit without updating PID file(/var/lib/mysql/bogon.pid).
确认你有mysql用户
scripts/mysql_install_db --user=mysql
3.11、检查mysql服务是否启动
netstat -tulnp | grep 3306
登录: mysql -u root –p 密码为空,如果能登陆上,则安装成功。
3.12、修改MySQL用户root的密码
mysqladmin -u root password ' factory@*wth 'fx#*%pgy
注:也可运行安全设置脚本,修改MySQL用户root的密码,同时可禁止root远程连接,移除test数据库和匿名用户。/usr/local/mysql/bin/mysql_secure_installation
3.13、可能会出现的错误
问题:Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
解决:
修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录
问题:ERROR 2002 (HY000): Can't connect to local MySQL server throughsocket '/tmp/mysql.sock' (2)
解决:新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。
ln -s /usr/local/mysql/data/mysql.sock/tmp/mysql.sock/usr/local/mysql/bin/mysql -u root -S/usr/local/mysql/data/mysql.sock
远程登录msyql:Msyql>grant all privileges on *.*to 'root'@'%'identified by 'fx#*%pgy' with grant option;
这段指令容许所有用root用户输入密码登陆该mysql server,如果将'%' 换成'192.168.1.100' ,那么只有192.168.1.100'的主机可以登陆。
3.14、msyql应用
mysql -u root -p --进入MySQL数据库控制台
123456 --输入数据库密码
show databases; --查看数据库
create database test; --创建新数据库dzbak
use test--进入fbm数据库目录
source /home/test.sql 导入fbm.sql到数据库fbm
drop database test删除数据库
mysql>show variables like '%char%'—查看mysql字符集
修改msyql字符集
vi /etc/my.cnf
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
default-character-set=utf8
在[mysql]下添加
default-character-set=utf8
3.15、改变mysql密码
UPDATE mysql.user SET Password = password ('fx#*%pgy' ) WHERE User='root';
3.16、linux下mysql的root密码忘记解决方
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and columnnames
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password') WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]