目次
1.1 gcc、gcc-c++をインストールします
1.2 opensslをインストールします
1.3 pcreのインストール
1.4 zlibのインストール
1.5 Nginx をインストールします
1.5.1 Nginxの設定
1.5。 2 Nginx の起動とシャットダウン
2.1 livevent をインストールします
2.2 Memcached をインストールします
2.2.1 インストールステータスを確認します
2.2.2 memcached と libevent のバージョン情報を表示します
2.2.3 memca ched
2.2.4使用telnet验证服务是否可用
2.2.5停止memcached服务
3.1安装Tomcat
3.2.2为Tomcat配置memcached
3.2.1为Tomcat添加库文件
3.2.3测试Session共享
4.1安装samba
4.2配置共享文件夹
4.3开启端口号
4.4关闭SELinux
4.5启动与停止服务
5.1卸载已安装的JDK
5.2配置Java环境变量
6.1卸载已安装的mysql
6.2安装mysql
6.3配置mysql
6.4启动mysql
6.5重设mysql密码(官网方法)
ホームページ バックエンド開発 PHPチュートリアル Nginx+Tomcat+Memcached ロードバランシング クラスタ サービスの構築

Nginx+Tomcat+Memcached ロードバランシング クラスタ サービスの構築

Jul 29, 2016 am 09:15 AM
memcached mysql nginx sudo tomcat

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48289765
ログイン後にコピー

オペレーティングシステム: CentOS6.5

このドキュメントでは、CentOS6.5 で Nginx+Tomcat+Memcached 負荷分散クラスタ サーバーを構築する方法を主に説明します。Nginx は負荷分散を担当し、Tomcat は実際のサービスを担当し、Memcached が担当します。 Tomcat のセッションを同期するためのセッション共有の目的。

1. Nginx をインストールします

Nginx 公式 Web サイト: http://nginx.org/

最新の安定バージョンをダウンロードします。 Nginx をインストールする前に、gcc、openssl、pcre、および zlib ソフトウェア ライブラリをインストールする必要があります。

1.1 gcc、gcc-c++をインストールします

インストールコマンド:

#sudo yum install gcc
# sudo yum install gcc-c++
ログイン後にコピー

1.2 opensslをインストールします

openssl公式Webサイト: http://www.openssl.org/

インストールバージョン: openssl-1.0.1i。 tar .gz

インストールコマンド:

#tar -zxvf openssl-1.0.1i.tar.gz
#cd openssl-1.0.1i
#sudo ./config --prefix=/usr/local/openssl-1.0.1i    #prefix指定安装目录
#sudo make
#sudo make install
ログイン後にコピー

[注意]: ここでは通常のconfigureコマンドの代わりにconfigコマンドを使用しています

インストールが完了したら、/usr/local/に移動してインストールが成功したかどうかを確認してください。インストールエラーが発生した場合は、再圧縮して再インストールする必要があります。

1.3 pcreのインストール

pcre公式サイト: http://www.pcre.org/

インストールバージョン: pcre-8.35.tar.gz

インストールコマンド:

#tar -zxvf pcre-8.35.tar.gz
#cd pcre-8.35
#sudo ./configure --prefix=/usr/local/pcre-8.35    #prefix指定安装目录
#sudo make
#sudo make install
ログイン後にコピー

インストール完了後、/に移動します。 usr/local/ 以下をチェックして、インストールが成功したかどうかを確認してください。インストールエラーが発生した場合は、再圧縮して再インストールする必要があります。

【注意】: C++ コンパイラがインストールされていない場合、このソフトウェアのインストールはエラーを報告します。

1.4 zlibのインストール

zlib公式サイト: http://www.zlib.net/

インストールバージョン: zlib-1.2.8.tar.gz

インストールコマンド:

#tar -zxvf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
#sudo ./configure --prefix=/usr/local/zlib-1.2.8    #prefix指定安装目录
#sudo make
#sudo make install
ログイン後にコピー

インストールが完了したら、 /usr/ へ local/ でインストールが成功したかどうかを確認します。インストールエラーが発生した場合は、再圧縮して再インストールする必要があります。

1.5 Nginx をインストールします

インストールバージョン: nginx-1.6.1.tar.gz

インストールコマンド:

#tar -zxvf nginx-1.6.1.tar.gz
#cd nginx-1.6.1
#sudo ./configure
--prefix=/usr/local/nginx-1.6.1                #prefix指定安装目录
--with-openssl=/home/zht/src/openssl-1.0.1i    #指的是openssl源码路径
--with-pcre=/home/zht/src/pcre-8.3.5          #指的是pcre的源码路径
--with-zlib=/home/zht/src/zlib-1.2.8           #指的是zlib 的源码路径
--with-http_ssl_module
#sudo make
#make install
ログイン後にコピー

インストールが完了したら、/usr/local/ に移動して、インストールが成功したかどうかを確認します。インストールエラーが発生した場合は、再圧縮して再インストールする必要があります。

1.5.1 Nginxの設定

設定ファイルディレクトリ:/usr/local/nginx-1.6.1/conf/nginx.conf

# cd /usr/local/nginx-1.6.1/conf
# sudo vi nginx.conf
ログイン後にコピー

[変更された設定ファイルは次のとおり]:

#创建进程的用户和用户组

user      zht zht;

#服务进程数量,一般等于CPU数量

worker_processes 1;


#全局错误日志定义,建议开启error级别日志.[ debug | info | notice | warn | error | crit ]

error_log logs/error.log error;

#error_log logs/error.log  notice;

#error_log logs/error.log  info;

 

#记录进程ID的文件

#pid       logs/nginx.pid;

 

 

events {

    #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能.Linux建议使用epoll,FreeBSD建议使用kqueue.

    useepoll;

    #一个worker_processe允许的最近并发连接数量

   worker_connections  1024;

}

 

 

http {

   include       mime.types;

   default_type application/octet-stream;

 

   #log_format  main  '$remote_addr - $remote_user [$time_local]"$request" '

    #                  '$status $body_bytes_sent"$http_referer" '

    #                  '"$http_user_agent""$http_x_forwarded_for"';

 

    #access_log  logs/access.log  main;

 

   sendfile        on;

   #tcp_nopush     on;

 

    #http连接的持续时间

   keepalive_timeout  65;

 

    #gzip压缩设置

    gzip  on;           #开启gzip

   gzip_min_length 1k;  #最小压缩文件大小

   gzip_buffers 4 16k;  #压缩缓冲区

    #http的协议版本(1.0/1.1),默认1.1,前端如果是squid2.5请使用1.0

   gzip_http_version 1.1;

    #gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)

   gzip_comp_level 2;   

    #和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

    gzip_varyon;

    #gzip压缩类型,不用添加text/html,否则会有警告信息

   gzip_types text/plain text/javascript text/css application/xmlapplication/x-javascript application/json;

 

    #设定负载均衡的服务器列表,可以设置多个upstream,但mysvr名字要区分

    upstreammyClusterServer1 {

       #weigth参数表示权值,权值越高被分配到的几率越大

        #本机上的Squid开启3128端口

       server 127.0.0.1:8081  weight=5;

       server 127.0.0.1:8082  weight=5;

       server 127.0.0.1:8083  weight=5;

    }

 

    server {

       #nginx监听的端口号

       listen       80;

        #域名可以有多个,用空格隔开

       server_name  127.0.0.1;

       

        #字符编码方式

       charset utf-8;

 

        #设定本虚拟主机的访问日志。关闭日志可以减少IO,提高性能。

       #access_log logs/host.access.log  main;

 

        #默认请求

       location / {

            #定义服务器的默认网站根目录位置

           root   html;

            #定义首页索引文件的名称

           index  index.html index.htmindex.jsp;

            #请求转向mysvr 定义的服务器列表

           proxy_pass    http://myClusterServer1;

           proxy_redirect default;

            #跟代理服务器连接的超时时间,必须留意这个time out时间不能超过75秒,当一台服务器当掉时,过10秒转发到另外一台服务器。

           proxy_connect_timeout 10;

        }

 

       #error_page  404              /404.html;

 

        #redirect server error pages to the static page /50x.html

        #

       error_page   500 502 503 504  /50x.html;

       location = /50x.html {

           root   html;

        }

 

        #proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

       #location ~ \.php$ {

       #    proxy_pass   http://127.0.0.1;

        #}

 

        #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

       #location ~ \.php$ {

       #    root           html;

       #    fastcgi_pass   127.0.0.1:9000;

       #    fastcgi_index  index.php;

       #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

       #    include        fastcgi_params;

        #}

 

        #deny access to .htaccess files, if Apache's document root

        #concurs with nginx's one

        #

       #location ~ /\.ht {

       #    deny  all;

        #}

    }

 

 

    # anothervirtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen      8000;

    #    listen      somename:8080;

    #    server_name somename  alias  another.alias;

 

    #    location / {

    #        root  html;

    #        index index.html index.htm;

    #    }

    #}

 

 

    # HTTPSserver

    #

    #server {

    #    listen      443 ssl;

    #    server_name localhost;

 

    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;

 

    #    ssl_session_cache    shared:SSL:1m;

    #    ssl_session_timeout  5m;

 

    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers  on;

 

    #    location / {

    #        root  html;

    #        index index.html index.htm;

    #    }

    #}

 

}
ログイン後にコピー
1.5。 2 Nginx の起動とシャットダウン

(1) 起動

# sudo  /usr/local/nginx-1.6.1/sbin/nginx
ログイン後にコピー

システムのポート 80 が他のプログラムによって占有されていないことを確認します

再起動:

# sudo  /usr/local/nginx-1.6.1/sbin/nginx  -s  reload
ログイン後にコピー

(2) シャットダウン:

ps -ef | grep nginx
ログイン後にコピー

メインプロセス ID を見つけて、次のように kill します:

# kill -9 [进程号]
ログイン後にコピー


(3) 起動が成功したかどうかを確認します:

netstat -ano | grep80
ログイン後にコピー

結果が入力されていれば、起動が成功したことを意味します。成功しました

ブラウザを開いてこのマシンの IP にアクセスします。ブラウザに「nginx へようこそ!」と表示された場合は、Nginx がインストールされ、正常に実行されていることを意味します。負荷分散サーバーが設定されている場合は、以下に示すように Tomcat に Web サイト ページが表示されます:

2. Memcache のインストール

Memcached 公式 Web サイト: http://memcached.org/

最初に memcached をインストールする必要があります libevent をインストールします。 libevent 公式 Web サイト: http://libevent.org/

このインストールバージョン:

memcached-1.4.20.tar.gz

libevent-2.0.21-stable.tar.gz

2.1 livevent をインストールします

インストールされているかどうかを確認します: # rpm qa | grep libevent

インストールされており、バージョンが 1.3 より前の場合は、最初にアンインストールします:

# rpm -e libevent --nodeps
ログイン後にコピー

# tar zxvf libevent-2.0.21-stable.tar.gz
# cd libevent-2.0.21-stable
# sudo ./configure --prefix=/usr/local/libevent-2.0.21-stable      #prefix指定安装路径
# sudo make
# sudo make install
ログイン後にコピー

インストールが完了したら、次の図に示すように、prefix で指定されたディレクトリに移動して libevent-2.0.21-stable ディレクトリが存在するかどうかを確認します。

2.2 Memcached をインストールします

# tar zxvf memcached-1.4.20.tar.gz
# cd memcached-1.4.20
# sudo ./configure
--prefix=/usr/local/memcached-1.4.20
--with-libevent=/usr/local/libevent-2.0.21-stable
# sudo make
# sudo make install
ログイン後にコピー
2.2.1 インストールステータスを確認します

インストールが完了したら、prefix で指定されたディレクトリに移動して、次のように memcached-1.4.20 ディレクトリがあるかどうかを確認します。下の図のとおりです。

2.2.2 memcached と libevent のバージョン情報を表示します

まず Memcached の bin ディレクトリを見つけます:

# cd /usr/local/memcached-1.4.20/bin
ログイン後にコピー

コマンドを実行します:

# sudo ./memcached -i
ログイン後にコピー

2.2.3 memca ched

# sudo ./memcached -d -v -p 12000 -m 512 -u zht
ログイン後にコピー

説明: -d はデーモン モードで memcached を実行することを意味し、-v は抽出およびエラー情報を出力することを意味し、-m は使用できる最大メモリを MB 単位で指定します。 memcached を実行している、非 root ユーザー。

# ps -ef | grep memcached を使用してプロセスを表示します。

基本的なオプションに注目してください:

説明

-p

リスニング TCP ポート (デフォルト: 11) 21 1)

-d

デーモンモードでmemcachedを実行します

-u

运行memcached的账户,非root用户

-m

最大的内存使用,单位是MB,缺省是 64 MB

-c

软连接数量,缺省是1024(最大并发连接数)

-v

输出警告和错误信息

-vv

打印客户端的请求和返回信息

-h

打印帮助信息

-i

打印memcached和libevent的版权信息

2.2.4使用telnet验证服务是否可用

Win7安装telnet:控制面板-> 程序和功能->打开或安装Windows功能->勾选Telnet服务端、Telnet客户端。


CentOS安装telnet客户端:

# sudo yum install telnet
ログイン後にコピー

Windows命令:

 

CentOS(Linux)下命令:

# telnet 127.0.0.1 12000
ログイン後にコピー

Trying 127.0.0.1...

Connected to localhost (127.0.0.1).

Escape character is '^]'.

连接成功后,手动输入命令:stats

即可看到如下信息:


手动输入:quit   //退出

Connection closed by foreign host


2.2.5停止memcached服务

# ps -ef | grep memcached
ログイン後にコピー

找到memcached进程ID号,然后强制杀死:

kill - 9 2439
ログイン後にコピー

3.安装Tomcat+配置memcached

Tomcat官网:http://tomcat.apache.org/

3.1安装Tomcat

本次使用Tomcat版本:apache-tomcat-7.0.55.tar.gz

将Tomcat解压到任意目录下。

3.2为Tomcat配置memcached

3.2.1为Tomcat添加库文件

Tomcat要支持memcached管理Session,需要调用一些jar库文件:

添加mem和msm的依赖jar包:

couchbase-client-1.2.2.jar

javolution-5.4.3.1.jar

kryo-1.03.jar

kryo-serializers-0.10.jar

memcached-session-manager-1.6.5.jar

memcached-session-manager-tc6-1.6.5.jar

minlog-1.2.jar

msm-kryo-serializer-1.6.5.jar

reflectasm-0.9.jar

spymemcached-2.10.2.jar

【注意】:

msm1.6.5依赖了Couchbase,需要添加couchbase-client的jar包,否则启动会报:java.lang.NoClassDefFoundError:com/couchbase/client/CouchbaseClient。

Tomcat6和Tomcat7使用不同msm支持包:memcached-session-manager-tc6-1.6.5.jar和memcached-session-manager-tc7-1.6.5.jar,只可选一,否则启动报错。

msm源码中的lib包版本太低:spymemcached需要使用2.10.2,否则启动tomcat报错:

java.lang.NoSuchMethodError:net.spy.memcached.MemcachedClient.set(Ljava/lang/String;ILjava/lang/Object;)Lnet/spy/memcached/internal/OperationFuture;

atde.javakaffee.web.msm.BackupSessionTask.storeSessionInMemcached(BackupSessionTask.java:227)

kryo-serializers需要使用0.10版本,否则报错:

Caused by:java.lang.ClassNotFoundException: de.javakaffee.kryoserializers.DateSerializer

部分文件下载地址:http://code.google.com/p/memcached-session-manager/downloads/list

其他的文件自己找。

下载后,将这些库文件放到tomcat\lib目录下。

3.2.2为Tomcat配置memcached

配置文件目录:tomcat\conf\context.xml

打开配置文件,在...节点中添加如下内容:

<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:127.0.0.1:12000"
        requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico|jpeg|htm|html)$"
        sessi
        sessi
        copyCollecti transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/> 
ログイン後にコピー

【参数说明】:

docBase:与中的appBase一致,网站部署目录。

memcachedNodes:memcached服务器信息,多个服务器时,使用空格分开,如:

n1:127.0.0.1:12001 n2:127.0.0.1:12002  n3:127.0.0.1:12003

配置文件如下图所示:

 

还有在server.xml中配置节点的appBase="部署目录"

 

3.2.3测试Session共享

测试JSP代码如下:index.jsp

同时启动多个Tomcat,我部署了3个,打开浏览器去访问第一个Tomcat,然后在访问第二个和第三个Tomcat,页面Session信息如下:


由图可以看到,三个Tomcat的SessionID都是一样的:5FBF6D6B6F37BE8248ED965536427005-n1,只要不关闭浏览器,不管怎么刷新,SessionID都是不变了。由此可以,三个Tomcat通过memcached实现了Session信息共享。

4.安装Samba共享文件服务

查看是否已经安装samba:

# rpm -qa | grep samba
ログイン後にコピー

4.1安装samba

使用网络安装快速方便,命令如下:

# sudo yum install samba samba-client
ログイン後にコピー

4.2配置共享文件夹

(1)修改配置文件:

# sudo vi /etc/samba/smb.conf
ログイン後にコピー

[SharedFolder]

path = /home/zht/SharedFolder          #共享目录的路径
writeable = yes                       #是否允许写
browsable = yes                      #是否允许以浏览目录内容
valid user = zht                       #访问目录的账户名
ログイン後にコピー

(2)添加账户

添加zht账户:

# sudosmbpasswd -a zht
ログイン後にコピー

按照提示输出访问密码。

4.3开启端口号

Port 137 (UDP)  --NetBIOS name server and nmbd
Port 138 (UDP) --NetBIOS datagram service
Port 139 (TCP) --File and printer sharing and smbd
Port 389 (TCP) --for LDAP(Active Directory Mode)
Port 445 (TCP) --NetBIOS was moved to 445 after 2000 and beyond(CIFS)
Port 901 (TCP) --for SWAT
ログイン後にコピー

(1) CentOS使用图形化添加端口号:sudo setup;

(2) 使用以下命令开启:

# iptables -I INPUT -p udp --dport [端口号] -j ACCEPT
# iptables -I INPUT -p tcp --dport [端口号] -j ACCEPT
ログイン後にコピー

保存:

# sudo service iptables save
ログイン後にコピー

4.4关闭SELinux

查看状态:

# getenforce
ログイン後にコピー

关闭:

# setenforce 0
ログイン後にコピー

SELinux几种状态:

enforcing:强制模式,代表SELinux运行中且正确限制;

permissive:宽容模式,代表SELinux运行中,不过仅有警告信息,并不实际限制;

disable:关闭,SELinux未运行。

永久关闭方法:

# sudo vi /etc/selinux/config
# SELINUX = enforcing          注释掉
# SELINUXTYPE = targeted      注释掉
ログイン後にコピー

在末尾添加一行:

SELINUX = disable
ログイン後にコピー

保存关闭:

:wq
ログイン後にコピー

重启系统

 

4.5启动与停止服务

(1)查看运行状态:

# sudo service smb status
ログイン後にコピー

(2)启动和停止服务:

# sudo /etc/init.d/smb   start/stop/restart
ログイン後にコピー

或者

# sudo service smb    start/stop/restart
ログイン後にコピー

(3)设置开启启动:

# sudo chkconfig --level 35 smb on
ログイン後にコピー

在3,5级别上自动运行smb服务

(4)验证服务

# smbclient -L //192.168.101.249 -U rxyy
ログイン後にコピー

或者

# smbclient //192.168.101.249/sharedFolder -U rxyy
ログイン後にコピー

5安装配置JDK

本次使用JDK版本为:jdk-7u60-linux-x64.tar.gz

5.1卸载已安装的JDK

查看已经安装的JDK

# rpm -qa | grep jdk*
ログイン後にコピー

卸载JDK:

# sudo yum -y remove [包名]
ログイン後にコピー

如下图所示:

安装新的JDK:将jdk-7u60-linux-x64.tar.gz解压缩到指定目录下即可。


5.2配置Java环境变量

# sudo vi /etc/profile
ログイン後にコピー

在末尾添加:

#JDK

exportJAVA_HOME=/home/zht/BalanceServer/Java/jdk1.7.0_60
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:.:$JRE_HOME/lib:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
ログイン後にコピー

如下图所示:

6安装MySQL数据库

6.1卸载已安装的mysql

查看已经安装的mysql数据库:

# rpm -qa | grep mysql
ログイン後にコピー

卸载已安装的mysql数据库:

# rpm -e [包名]                //普通卸载,可能因为依赖无法卸载
# rpm -e --nodeps [包名]         //强制卸载,有依赖也能卸载
ログイン後にコピー

或者

# yum -y remove [包名]         //卸载时自动处理依赖
ログイン後にコピー

6.2安装mysql

    安装MySQL数据库需要安装4个组件:mysql--shared-compat 、mysql-server、mysql-client和mysql-workbench,安装方法如下。

(1)安装mysql共享库:

# rpm -ivh MySQL-shared-compat-5.6.20-1.el6.x86_64.rpm
ログイン後にコピー

(2)安装mysql服务端::

# rpm -ivh MySQL-server-5.6.20-1.el6.x86_64.rpm
ログイン後にコピー

(3)安装mysql客户端:

# rpm -ivh MySQL-client-5.6.20-1.el6.x86_64.rpm
ログイン後にコピー

(4)安装mysql-workbench工具:

# rpm -ivh mysql-workbench-community-6.1.7-1.el6.x86_64.rpm
ログイン後にコピー

【说明】:RPM安装包,在CentOS下可以直接双击运行安装,系统会自动处理依赖。

另附:yum安装方法

查看yum上可安装的版本:

# yumlist | grep mysql
ログイン後にコピー

安装:

# yum install -y mysql-server mysql mysql-devel
ログイン後にコピー

6.3配置mysql

配置文件目录:

/usr/my.cnf或者/etc/mysql/my.cnf
ログイン後にコピー

打开文件后,在[mysqld]后面添加如下配置:

#字符编码

character-set-server=utf-8
ログイン後にコピー

#存储引擎

default-storage-engine=INNODB
innodb_flush_log_at_trx_commit=2
ログイン後にコピー

#缓冲池

innodb_additi
innodb_buffer_pool_size=1024M
ログイン後にコピー

#最大连接数

max_c/pre><p>#允许的最大包大小(例如一个Blob字段)</p><p></p><pre name="code">max_allowed_packet=16M
ログイン後にコピー

 

6.4启动mysql

(1)启动mysql:

# sudo service mysql  start/stop/restart
ログイン後にコピー

# sudo /etc/rc.d/init.d/mysql  start/stop/restart
ログイン後にコピー

(或 # sudo /etc/rc.d/init.d/mysqld  start/stop/restart)

启动mysql出错时,请到/var/liv/mysql/xxx.err查看错误信息。


(2)登录MySQL

# mysql -u root -p
# 输入密码
# mysql> show databases;
# mysql> show variables like '%character_set%'
# mysql> ...
ログイン後にコピー

(3)创建远程连接用户

启用sxzl用户在本地(localhost)的登录权限,密码hymmldr.

# mysql> grant all privileges on *.* tosxzl@localhost identified by 'hymmldr.' with grant option;
ログイン後にコピー

启用sxzl用户远程(%)登录权限,密码hymmldr.

# mysql> grant all privileges on *.* to sxzl@"%"identified by 'hymmldr.' with grant option;
ログイン後にコピー

刷新权限

# mysql> flush privileges;
ログイン後にコピー

第一次安装需要重设mysql密码,详见如下。

6.5重设mysql密码(官网方法)

启动mysql,然后执行如下命令:

# ps -ef | grep -i mysql
ログイン後にコピー

查看mysqld_safe的路径,例如:/usr/bin/mysqld_safe


停止mysql,然后以安全方式启动mysql:

# sudo  /usr/bin/mysqld_safe  --skip-grant-tables  >/dev/null 2>&1  &
ログイン後にコピー

5秒钟后执行:

# sudo /usr/bin/mysql -u root mysql
ログイン後にコピー

重设root用户的密码:

# mysql> update user SET PASSWORD=PASSWORD('root')where user='root'
ログイン後にコピー

刷新权限

# mysql> flush privileges;
# mysql> exit;
ログイン後にコピー

接着再次登录mysql:

# mysql -u root -p
ログイン後にコピー

# 输入密码

然后执行:

# mysql> show databases;
ログイン後にコピー

报错:You must SET PASSWORD before executing thisstatement.

解决办法,重设一次密码:

# mysql> SET PASSWORD=PASSWORD('root');
# mysql> flush privileges;
ログイン後にコピー

 

设置完毕后,就可以打开mysql-workbench连接到数据库了。

7命令说明:yum

yum安装选项说明:

yum -y install 包名(支持*) :自动选择y,全自动
yum install 包名(支持*) :手动选择y or n
yum -y remove [package name] :自动处理依赖
yum remove 包名(不支持*)
rpm -ivh 包名(支持*):安装rpm包
ログイン後にコピー

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了Nginx+Tomcat+Memcached负载均衡集群服务搭建,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

MySQLの外国キーの目的を説明してください。 MySQLの外国キーの目的を説明してください。 Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

mysqlとmariadbを比較対照します。 mysqlとmariadbを比較対照します。 Apr 26, 2025 am 12:08 AM

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

MySQL:データベース、phpmyAdmin:管理インターフェイス MySQL:データベース、phpmyAdmin:管理インターフェイス Apr 29, 2025 am 12:44 AM

MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

NginxとApache:重要な違​​いを理解する NginxとApache:重要な違​​いを理解する Apr 26, 2025 am 12:01 AM

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

フィールドをMySQLテーブルに追加および削除する手順 フィールドをMySQLテーブルに追加および削除する手順 Apr 29, 2025 pm 04:15 PM

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

関数と正規表現を含むJavaScriptオブジェクトをデータベースに安全に保存して復元するにはどうすればよいですか? 関数と正規表現を含むJavaScriptオブジェクトをデータベースに安全に保存して復元するにはどうすればよいですか? Apr 19, 2025 pm 11:09 PM

フロントエンド開発においてJSONで機能と正規表現を安全に処理することができますが、JavaScriptが必要です...

See all articles