一、Linux系统下以RPM方式安装mysql-5.7.9
-
Linux系列系统
-
mysql-5.7.9 64位 RPM集合包
-
Tomcat8
-
JDK8
1.安装时候会提示与已经安装的RPM包有冲突,所以我们先卸载一些RPM包,要卸载哪些呢?我们要卸载的是包含有mariadb关键字的RPM包,执行命令:rpm -qa|grep mariadb来查看一下我们要卸载哪些软件,看下图:
既然知道了是哪些RPM包,就开始卸载吧!执行命令:
rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
rpm -e --nodeps mariadb-server-5.5.41-2.el7_0.x86_64
rpm -e --nodeps mariadb-5.5.41-2.el7_0.x86_64
看下图:
2.卸载完了,我们就开始安装吧!安装前,先讲一下,虽然官方文档说安装mysql-community-client-5.7.9-1.el7.x86_64.rpm和mysql-community-server-5.7.9-1.el7.x86_64.rpm就可以获得标准功能的MySQL。但是由于RPM包的依赖关系,所以实际上我们还要多装2个RPM包:mysql-community-common-5.7.9-1.el7.x86_64.rpm和mysql-community-libs-5.7.9-1.el7.x86_64.rpm。依次执行命令:
rpm -ivh mysql-community-common-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm
注意:是依次执行,不要乱了顺序,因为它们之间有依赖关系:
3.初始化的操作我们要在/usr/bin目录中进行,所以我们先进入/usr/bin目录:cd /usr/bin。
然后,我是以root身份登录Linux系统的,并且我想为root账户生成一个随机的初始密码,所以我要执行命令:mysqld --initialize --user=mysql;这样就完成了对MySQL的初始化,并为root账户生成了一个随机的初始密码。
我们来对上一步来作个补充,因为你有可能会用到,还是来看官方文档,看下图,图中英文翻译过来就是:
mysqld服务会检查数据目录是否存在,如下:
如果数据目录不存在,mysqld则会创建它。
如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld会显示一条错误信息并中止:
[ERROR] --initialize specified but the data directory exists. Aborting.
遇到这种情况,就将数据目录删除或重命名后,重新再试一次。
我来简单说明一下,也就是在初始化之前,先检查一下数据目录是否存在,执行命令:ls -l /var/lib|grep mysql。若有,则执行命令:
rm -rf /var/lib/mysql,将其删除;
或者执行命令:mv /var/lib/mysql /var/lib/newname,将其重命名为newname,就可以了。
4.下面我们来看下root账户的随机初始密码,执行命令:
vi /var/log/mysqld.log
下图红线框中的字符就是密码,把它记下来,登录MySQL的时候要用:
5.现在可以启动mysqld服务了,执行命令:
systemctl start mysqld
我们来看下mysqld是否已经启动了,执行命令:
systemctl status mysqld
如果看到的和下图一样,就说明已经启动了:
我们来对上一步作个补充,因为你也有可能会遇到。如果你在执行命令:
systemctl start mysqld时,出现了和下图一样的提示:
Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.
出现这样的错误提示,我们先查看一下/var/lib/mysql-files目录是否存在,执行命令:ls -ld /var/lib/mysql-files。如果不显示任何信息就表示不存在,执行命令:mkdir /var/lib/mysql-files,创建/var/lib/mysql-files目录。这时,我们试着执行命令:systemctl start mysqld。如果还出现和下图一样的提示,我们执行另一条命令:chown -R mysql:mysql /var/lib/mysql,将/var/lib/mysql目录及其下所有文件和子目录的所有者和所属组都改为mysql。我们再执行一下:systemctl start mysqld应该就可以启动mysqld服务了。
6.准备工作全部就绪,来吧,登录吧!执行命令:mysql -u root -p。要注意输入密码是不显示的,不是你的键盘有问题,而是Linux的一种安全机制,只管输入就行。看下图:
最后还要讲下怎么修改密码,从官方文档中我们了解到要用ALTER USER语句可以修改密码。登录MySQL后,执行语句:
alter user 'root'@'localhost' identified by 'mYsqL$%123';
就将root账户的密码修改为mYsqL$%123了。
有一点需要注意,MySQL对用户密码安全性有所加强,所以设置的密码必须包含有数字,大写字母,小写字母,特殊符号,如果你设置的密码过于简单,会提示:
ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。
至此,所有工作就完了。最后不禁要感慨一下:真后悔当初没好好学英语啊!好好学英语吧,童鞋们!
①进入编辑profile文件
②在profile文件最后追加入如下内容:
- #vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
③保存并退出,执行如下
- #source /etc/profile
2、查看java版本
三、安装配置Tomcat
- [root@localhost java]# java -version
- java version "1.7.0_25"
- Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
- Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
- 设置 Iptables 规则(这一步是必须设置的):
- 一种方式:先关闭 iptables,防止出现拦截问题而测试不了:
service iptables stop
- 一种方式:在 iptables 中添加允许规则(Tomcat 默认端口是 8080):
- 添加规则:
sudo iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
- 保存规则:
sudo /etc/rc.d/init.d/iptables save
- 重启 iptables:
sudo service iptables restart
- 添加规则:
- 一种方式:先关闭 iptables,防止出现拦截问题而测试不了:
- 测试安装好后的 Tomcat:
- 启动 Tomcat:
sh /usr/program/tomcat8/bin/startup.sh ; tail -200f /usr/program/tomcat8/logs/catalina.out
- 访问:
http://服务器 IP 地址:8080/
- 停止 Tomcat:
sh /usr/program/tomcat8/bin/shutdown.sh
- 启动 Tomcat:
Tomcat 8 配置
-
设置 Tomcat 环境变量:
sudo vim /etc/profile
-
最文件最尾巴添加下面内容:
CATALINA_HOME=/usr/program/tomcat8 export CATALINA_HOME export PATH=$PATH:$CATALINA_HOME/lib:$CATALINA_HOME/bin # 下面参数根据自己机子内存进行配置 # CATALINA_OPTS 只配置给 Tomcat 的 VM # JAVA_OPTS 配置给所有调用 Java 的程序的 VM # 有 CATALINA_OPTS 的时候 Tomcat 优先读这个 # 其中:-server 表示启用 jdk 的 server 版,一定要作为第一个参数,在多个 CPU 时性能佳; CATALINA_OPTS="-server -Xms528m -Xmx528m -XX:PermSize=256m -XX:MaxPermSize=358m" export CATALINA_OPTS # 设置生成的 PID 位置 CATALINA_PID=$CATALINA_HOME/catalina.pid export CATALINA_PID
- 刷新变量配置:
source /etc/profile
- 如果使用
shutdown.sh
无法停止 tomcat,可以修改其配置:vim /usr/program/tomcat8/bin/shutdown.sh
- 把最尾巴这一行:
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
- 改为:
exec "$PRGDIR"/"$EXECUTABLE" stop 10 -force
- 把最尾巴这一行:
Tomcat 8 优化
- 官网标准答案:<a rel="nofollow" href="https://tomcat.apache.org/tomcat-8.0-doc/config/http.html" "="" style="box-sizing: border-box; color: rgb(45, 133, 202); text-decoration: none; background-color: transparent;">https://tomcat.apache.org/tomcat-8.0-doc/config/http.html
- 官网帮助文档下载(该资料在:
/tomcat-8.0-doc/config/http.html
):wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32-fulldocs.tar.gz
- 编辑配置文件:
vim /usr/program/tomcat8/conf/server.xml
- 修改链接参数:
- 默认值:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- 修改为:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" redirectPort="8443" enableLookups="false" acceptCount="100" maxThreads="200" minSpareThreads="10" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" URIEncoding="utf-8" />
- 重点参数解释:
- protocol,Tomcat 8 设置 nio2 更好:org.apache.coyote.http11.Http11Nio2Protocol
- protocol,Tomcat 6 设置 nio 更好:org.apache.coyote.http11.Http11NioProtocol
- enableLookups,禁用DNS查询
- acceptCount,指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认设置 100
- maxThreads,最大并发数,默认设置 200
- minSpareThreads,Tomcat初始化时创建的线程数,默认设置 10
- 默认值:
- 修改链接参数: