最近要加一个环境测试,自力更生,丰衣足食,记下来下次安装环境速度快点

java jdk-1.80_131 64位

这个jdk 对于初次下载的人要注意,oracel现在不登录不让下载,而注册用户时页面无反应,应该是关闭了接口.可以在百度上搜个别人共享的账号使用.

 
输入:javac –version 查看服务器上,当前默认的jdk 版本

[root@sxora01 ~]# java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

  再输入:rpm -qa|grep java       卸载

[root@sxora01 ~]# rpm -qa|grep java
java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
tzdata-java-2013g-1.el6.noarch
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
libvirt-java-devel-0.4.9-1.el6.noarch
java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64
libvirt-java-0.4.9-1.el6.noarch

 这个时候,我们可以看到linux 默认java 版本,但是现在我们想使用jdk 1.8 那么我们就要去卸载默认的版本

2 安装jdk
在usr下面新建一个Java目录 然后在Java下面新建一个jdk文件夹和tomcat文件夹

[root@iZj1fkye8uu7o0Z ~]# cd /usr
[root@iZj1fkye8uu7o0Z usr]# ls
bin etc games include java lib lib64 libexec local sbin share src tmp
[root@iZj1fkye8uu7o0Z usr]# cd java
[root@iZj1fkye8uu7o0Z java]# ls
jdk tomcat
创建目录的命令mkdir java 和mkdir tomcat 分别用于解压jdk 和tomcat
[root@localhost ~]# cd /usr/
[root@localhost usr]# mkdir java
[root@localhost usr]# cd java/
[root@localhost java]# mkdir jdk
[root@localhost java]# cd jdk
然后将刚刚下载的jdk解压到dk目录下面

执行解压命令(如果不是此版,不要忘记根据文件名更改)注意这里的-C为大写

[root@iZj1fkye8uu7o0Z ~]# tar -xvf jdk-8u131-linux-x64.tar.gz -C /usr/java/jdk
解压完后 进入到/usr/java/jdk下面可以查看到 刚刚解压的文件

[root@iZj1fkye8uu7o0Z ~]# cd /usr/java/jdk
[root@iZj1fkye8uu7o0Z jdk]# ls
jdk1.8.0_131
[root@iZj1fkye8uu7o0Z jdk]#
配置环境变量
在etc 的profile里面配置环境变量

[root@iZj1fkye8uu7o0Z ~]# vi /etc/profile
#set java enviroment
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_131
export JRE_HOME=/usr/java/jdk/jdk1.8.0_131/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH

注意:这里的jdk名称和自己下载的jdk名称版本一致 我是用的是jdk1.8.0_131

保存退出。

source /etc/profile

到目前为止安装jdk的工作都已经完成,那么就来测试一下是否安装成功了吧

[root@iZj1fkye8uu7o0Z ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@iZj1fkye8uu7o0Z ~]#

现在,我们再来安装tomcat

cd /usr 进入 usr 目录

mkdir tomcat 创建tomcat 文件夹

mv apache-tomcat-8.0.39.tar.gz  /usr/tomcat 将tomcat 包移动到tomcat里面

tar -xvzf apache-tomcat-8.0.39.tar.gz 进行解压

[root@sxweb tomcat]# mv apache-tomcat-8.0.39/* /usr/tomcat
[root@sxweb tomcat]# ll
total 9204
drwxr-xr-x 2 root root 4096 Jan 5 10:24 apache-tomcat-8.0.39
-rw-r--r-- 1 root root 9304967 Dec 27 17:16 apache-tomcat-8.0.39.tar.gz
drwxr-xr-x 2 root root 4096 Jan 5 10:24 bin
drwxr-xr-x 2 root root 4096 Nov 9 16:53 conf
drwxr-xr-x 2 root root 4096 Jan 5 10:24 lib
-rw-r--r-- 1 root root 57011 Nov 9 16:53 LICENSE
drwxr-xr-x 2 root root 4096 Nov 9 16:48 logs
-rw-r--r-- 1 root root 1444 Nov 9 16:53 NOTICE
-rw-r--r-- 1 root root 6741 Nov 9 16:53 RELEASE-NOTES
-rw-r--r-- 1 root root 16195 Nov 9 16:53 RUNNING.txt
drwxr-xr-x 2 root root 4096 Jan 5 10:24 temp
drwxr-xr-x 7 root root 4096 Nov 9 16:50 webapps
drwxr-xr-x 2 root root 4096 Nov 9 16:48 work
[root@sxweb tomcat]# cd apache-tomcat-8.0.39
[root@sxweb apache-tomcat-8.0.39]# ll
total 0

执行后,在将解压文件夹内容移出到tomcat 目录下

删除空文件夹

[root@sxweb tomcat]# rm -rf apache-tomcat-8.0.39
 cp /usr/tomcat/bin/catalina.sh /etc/init.d/tomcat

将catalina.sh 复制成/etc/init.d/tomcat

在对该文件进行编辑

[root@sxweb ~]# cd /etc/init.d
[root@sxweb init.d]# vim tomcat
 在文件中加入,我下段全部内容

# chkconfig: 2345 63 37
# description: tomcat server init script
# Source Function Library
. /etc/init.d/functions
JAVA_HOME=/usr/java/jdk1.8.0_111
CATALINA_HOME=/usr/tomcat

注释掉的也要加上,不要漏掉

完整:

#!/bin/sh
# chkconfig: 2345 63 37
# description: tomcat server init script
# Source Function Library
. /etc/init.d/functions
JAVA_HOME=/usr/java/jdk1.8.0_111
CATALINA_HOME=/usr/tomcat
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# -----------------------------------------------------------------------------
# Control Script for the CATALINA Server
"tomcat" 619L, 22616C
 然后执行

[root@tomcat ~]# chmod 755 /etc/init.d/tomcat 
[root@tomcat ~]# chkconfig --add tomcat
[root@tomcat ~]# chkconfig tomcat on
启动tomcat
[root@tomcat ~]# service tomcat start      
停止tomcat
[root@tomcat ~]# service tomcat stop

3:redis

redis下载地址:http://www.redis.cn/download.html

$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make  

 解压目录下

运行

src/redis-server 启动服务
netstat -lnp 查看服务端口启动情况
修改配置文件   redis.conf

在此我只改后台运行一项

daemonize设置为yes

如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis

/etc/init.d/redis-server stop 
/etc/init.d/redis-server start 
/etc/init.d/redis-server restart

如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli的shutdown命令来重启redis

1.redis关闭 
src/redis-cli -h 127.0.0.1 -p 6379 shutdown

2.redis启动 
src/redis-server

如果上述方式都没有成功停止redis,则可以使用终极武器 kill -9

加入开机启动

设置redis 为开机启动,避免每次开机都要重新开启redis。
1、编写脚本
  vim /etc/init.d/redis
2、内容如下

#!/bin/bash
#
# chkconfig:
# description: Start and Stop redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=
EXEC=/usr/local/redis-5.0./src/redis-server
REDIS_CLI=/usr/local/redis-5.0./src/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis-5.0.4/redis.conf"
AUTH=""
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
sleep
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${} stop
${} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&
exit
esac

3、设置redis 权限
  chmod 755 /etc/init.d/redis
4、启动redis
  /etc/init.d/redis start
5、设置开机启动
  cd /etc/init.d/
  chkconfig redis on

chkconfig --list named

6出现问题

make[1]: *** [adlist.o] Error 1   make出错

提示缺少cc,执行:yum -y install gcc gcc-c++ libstdc++-devel

make继续报错:

cd src && make all
make[1]: Entering directory `/home/liuchaofan/redis-3.0.7/src‘
    CC adlist.o
adlist.c:1: error: CPU you selected does not support x86-64 instruction set
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/home/liuchaofan/redis-3.0.7/src‘
make: *** [all] Error 2

运行 make CFLAGS="-march=x86-64"

完美安装

注意:
如果无法通过http协议访问虚拟,需要关闭防火墙,防火墙相关命令
  service iptables stop 暂停
  chkconfig iptables off 永久关闭
  service iptables status 检查状态

附录开启远程debug

在tomcat/bin 下vim catlina.sh 加入下行

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

MySQL密码太简单让网上黑客给扫描了....要比特币, 尽管操作了一番,基本功能正常, 搭建hib时 存在问题,干脆卸载了重装一下.

yum remove mysql-community-server  yum安装就yum卸载

rpm -qa|grep -i mysql  查看rpm mysql安装目录

rpm -ev mysql-community-libs-8.0.11-1.el7.x86_64

如果有依赖

rpm -ev mysql-community-libs-compat-8.0.11-1.el7.x86_64 --nodeps

查找之前mysql的目录,都删掉

find / -name mysql

把该删的都删掉

rm -rf  xxx/mysql

记得删除/etc/my.cnf文件

rm -rf /etc/my.cnf

 

yum 安装mysql

第一要改变到中国镜像,我用 的阿里云,速度提升1000倍

1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、查看CentOS系统版本

[root@localhost ~]lsb_release -a

3、下载ailiyun的yum源配置文件到/etc/yum.repos.d/
CentOS7

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

CentOS6

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS5

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

4、运行yum makecache生成缓存

[root@localhost ~]# yum makecache

1 下载并安装MySQL官方的 Yum Repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

之后就开始安装MySQL服务器。

[root@localhost ~]# yum -y install mysql-community-server

但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

此时才算真的完成了。

//查看mysql服务状态 [root@mytestlnx02 ~]# ps -ef | grep -i mysql

systemctl stop  mysqld.service

systemctl start  mysqld.service

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

yum 安装jdk 1.8  建议不这么装,安装完之后文件分散到各处

yum list java-1.8*

安装1.8.0的所有文件

yum install java-1.8.0-openjdk* -y

[root@instance-zcwqwjf3 ~]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode

tomcat  shutdown 总是连不上8005的原因

原来是启动tomcat时 中间阻断了,导致8005端口一直起不来,或中断超时后才能运行到8005端口,启动缓慢.......真坑

通过netstat -lnp 就能看到,而shutdown.sh是需要连接8005接口才能关闭

于CentOS中tomcat的8005端口启动不起来的解决办法
在阿里云CentOS环境中配置tomcat服务器,结果tomcat的8005端口半天都起不来(tomcat的关闭端口),这个端口起不来就无法访问tomcat和关闭tomcat。杀进程或者shutdown.sh永远失败,重启服务器也不行
(ps:最新发现,不是tomcat不能用了,是启动太慢了,我误认为不能用了)
最后找到原因:

tomcat在启动时会使用如下几个端口

其中8005端口使用的比较晚,也就是说,我们刚startup.sh的时候,使用netstat -tlpn查看,是没有8005端口的,过一段时间tomcat完全启动

之后,才会出现8005端口占用。

而出现我那种情况的原因是,在tomcat启动后,8005端口占用前,我就shutdown.sh了,就报错8005云云。。。

所以以后shutdown.sh的时候确保8005已占用就好了
在8005端口启动前就shutdown.sh,导致了异常,为什么别人没有遇到?原来别人的tomcat在1s内就启动8005端口了,而我的tomcat启动为什么这么慢?
查看tomcat log

大红框为一次完整启动tomcat打印的log,图中可以看出耗时在小红框标记的地方,经搜索,终于找到启动慢的根源了,原来是计算随机数的时候阻塞了。。
解决方法:
方式一:
直接配置jdk securerandom.source为urandom解决:
1.打开$JAVA_HOME/jre/lib/security/java.security这个文件,找到securerandom.source配置项

修改为:
securerandom.source=file:/dev/./urandom

2.保存退出后,使用killall杀掉java进程:
killall java

3.启动tomcat,8005端口就起来了:
好了好了,tomcat启动快了,800ms搞定,不会异常了

方拾二:
yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
systemctl start rngd # 启动服务

最好的mysql rpm安装,在yum 总是出现异常的情况下

下载rpm

首先到mysql官网下载页面,根据你自己的需求,选择适合自己的版本下载。这里我下载的是64位的mysql@5.7

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar

解压

在上述压缩包所在目录执行:

tar -xvf mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar

mysql-server安装

直接使用下面的命令进行安装。

rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm

所以,你可能会遇到下面的error

先看一下最后一条错误提示,很明显,就是说我们没有安装mysql-client。所以,先把这个小东西给安装了。同样执行上述的命令。

rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64.rpm

对于上面的三条错误,是因为系统中缺少numactl。所以,先使用yum进行安装。

yum install -y numactl

安装成功之后,再执行上述的mysql-server安装命令。bingo:

当你看到这些输出,说明你已经成功的安装了mysql-servermysql-client在你的系统中。

登录

执行以下命令登录mysql

mysql -uroot -p

呃呃呃呃呃呃呃,什么鬼,报错了:

提示告诉我们说,访问被拒绝了。什么,以前不都是这样登录的吗,为啥会被拒绝。哈哈哈?,其实啊,不同的mysql版本,对待首次登录的操作是不一样的。对于mysql@5.7来说,可以通过下面的方式看看有什么玄机。

打开mysql的配置文件

vim /etc/my.conf

在第26行的位置,有如下配置。

26 log-error=/var/log/mysqld.log

这行配置指定了mysql的标准错误输出日志文件,打开这个文件(内容可能有点多,使用如下命令打开)。

head -100 /var/log/mysqld.log

找到这么一句话:

A temporary password is generated for root@localhost: oggcq!hnq6Ek

这句话就是说,我们在安装mysql-server的时候,mysql给我们生成了一个临时的密码,这个密码就是我们首次登录的时候需要输入的密码(你的可能和这个不一样)。所以,带上这个密码登录。

mysql -uroot -p'oggcq!hnq6Ek'

铛铛铛铛铛,登录成功,bingo。
既然登录成功了,来,简单的操作一下。

show databases;

什么鬼,怎么又错了。

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

但是这个错误很好理解,就是说,我们首次登录成功之后,mysql会强制我们修改登录密码的。好吧,那就修改吧。

alter user 'root'@'localhost' identified by '123456';

修改成功之后,退出客户端,用新密码重新登录mysql

mysql -uroot -p123456

如果以上方法查不到日志可以通过常用的忘记密码更改密码的方式进行

修改mysql的配置文件my.cnf

my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf

在配置文件中,增加

skip-grant-tables
[mysqld]

skip-grant-tables
注意修改完之后再注释掉
[root@mytestlnx02 ~]# service mysqld start
[root@mytestlnx02 ~]#
[root@mytestlnx02 ~]# mysql -u root
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

 

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> alter user 'root'@'localhost' identified by 'yourpass';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

  报错不能通过这种方式更改,需要用更新的方式修改密码.....呵呵呵

update user set password=password("你的新密码") where user="root";

mysql> update user set password=password("xxxx") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list

  以上是版本低的mysql表内的密码字段,5.7是下边的

update user set authentication_string=password('xxxxxxxx') where User='root';

mysql> update user set authentication_string=password(xxxxx') where User='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

  ok修改成功,密码不要太简单,这个mysql要智能检测

flush privileges; 更新

 

 

tomcat+java+redis环境linux安装的更多相关文章

  1. win7下安装配置tomcat,java运行环境

    转 http://www.cnblogs.com/pannysp/archive/2012/03/07/2383364.html 1.下载JDK,安装 官网下载地址:http://java.sun.c ...

  2. (转)Tomcat(java运行环境)安装及配置教程

    转自:http://jingyan.baidu.com/article/870c6fc33e62bcb03fe4be90.html 用来进行web开发的工具有很多,Tomcat是其中一个开源的且免费的 ...

  3. 安装配置tomcat,java运行环境

    1.下载JDK,安装 官网下载地址:http://java.sun.com/javase/downloads/index.jsp 下载后,安装,选择你想把JDK安装的目录: 比如:JDK安装目录:E: ...

  4. Java 运行环境的安装、配置与运行

    (一)SDK 的下载与安装 1. 下载SDK 为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包.SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器. ...

  5. 配置tomcat,java运行环境

    1.下载JDK,安装 官网下载地址:http://java.sun.com/javase/downloads/index.jsp 下载后,安装,选择你想把JDK安装的目录: 比如:JDK安装目录:E: ...

  6. 番外篇:因为一个固态导致的——系统重装与JAVA软件环境下载安装配置

    第一步:拆机改装 最近想换个固态硬盘提提速度,就买了个,然后拧下后盖螺丝,将键盘盖拿下,中间有两个根线连着把扣打开就可以了,将新的固态硬盘装到原本的机械硬盘的地方,又买了个光驱托盘改装位将光驱位装上了 ...

  7. redis在linux安装和开机启动和结合php运用方法一

    第一部分:安装redis 希望将redis安装到此目录 1 /usr/local/redis 希望将安装包下载到此目录 1 /usr/local/src 那么安装过程指令如下: 1 2 3 4 5 6 ...

  8. java配置环境及安装

    1.安装JDK开发环境 首先登陆https://www.oracle.com 第一步:Products ---- Java ---- Download java(JDK) for Developers ...

  9. 安卓和java开发环境的安装

    java配置安卓需要,sdk,jdk(java),adt,eclipse 对于jdk的配置和安装: 1 卸载原来的jdk,重新配置环境变量只需要:在系统变量中把新的jdkJ安装路径写到“JAVA_HO ...

随机推荐

  1. ZR#1015

    ZR#1015 解法: 我们需要求得, $ g_i $ 表示长度为的最长不下降子序列个数. 设 $ f_{i,j} $ 表示统计第前$ i $ 个数字,得到最长不下降子序列末端为 $ j $ . 显然 ...

  2. Python正则表达式【转载】

    原作者:LouieZhang 原文出处:https://www.cnblogs.com/LouieZhang/p/7399836.html 0x00 简介 正则表达式就是描述字符串排列的一套规则.利用 ...

  3. Linux 搜索查找类指令

    一.find  指令 find 指令将从指定目录向下递归遍历其各子目录,将满足条件的文件或者目录显示在终端. 基本语法 find  [搜索范围]  [选项] 选项说明 -name            ...

  4. weblogic介绍

    快速阅读 介绍weblogic中间件,以及自身架构和几个基本概念,如何下载,安装等后面再详细介绍 . 什么是weblogic WebLogic最早由 WebLogic Inc. 开发,后并入BEA 公 ...

  5. go的flag模块使用例子

    package main import ( "flag" "fmt" "strconv" ) func main() { port := f ...

  6. Java初级黄金体验 其二

    Java初级黄金体验 其二 引言:让我们看一下你的C盘有多少个文件和文件夹 初级 Java IO : 第一个纪念碑 小程序大致功能 让我们看一下E盘有多少个文件 上代码 最近太多的作业 代码可以无限改 ...

  7. html5中hgroup和address标签使用总结

    html5中hgroup和address标签使用总结 一.总结 一句话总结: hgroup元素(不推荐使用):用来给标题分组,通常放在header中: address元素:斜体显示:用来说明作者的联系 ...

  8. SSH项目中使用struts-tags报错According to TLD or attribute directive in tag file, attribute test does not accept any expressions

    在运行struts2标签页面时报错,代码如下:<%@ page language="java" pageEncoding="gbk"%><%@ ...

  9. TP5 分页数据加锚点

      TP5 分页数据加锚点跳转到相应位置   有这样一个需求,就是加载评论后,点下一页的时候回到相应的位置.  $comment = Db('comment')->order('addtime' ...

  10. CMU Database Systems - Query Optimization

    查询优化应该是数据库领域最难的topic 当前查询优化,主要有两种思路, Rules-based,基于先验知识,用if-else把优化逻辑写死 Cost-based,试图去评估各个查询计划的cost, ...