多端口部署操作


mysql多端口部署操作

部署前说明

部署mysql多端口前,请确保服务器上已经有mysql数据库。这里不在重复,mysql数据库安装及配置。

创建数据库存放目录

在Xshell或SSH上登录服务器,在控制台中使用mkdir -p /home/mysql/mysqlDB/文件夹名称,创建数据存放目录。

注:多端口可以在data目录后追加端口号,这样便利后期查询启动错误日志。例如:

mkdir -p /home/mysql/mysqlDB/data3306
mkdir -p /home/mysql/mysqlDB/data4306

如下图所示:
Alt text

创建mysqlSock代理文件夹

在控制台中使用mkdir -p /home/mysqlsock/文件名称,创建数据存放目录。

注:以多端口号作为文件名称。例如:

mkdir -p /home/mysql/mysqlsock/

详情如图:

Alt text
Alt text

复制和配置my.cnf

复制my.cnf配置文件:

执行下面语句复制mysql数据库配置文件到/etc/目录下并更名为my3306.cnf重复命令建立my4306.cnf

cp /usr/local/mysql/my.cnf  /etc/my3306.cnf

详情如下图所示:
Alt text

配置my.cnf配置文件:

  1. 配置my3306.cnf配置文件:
    1. 在控制台中使用命令vim /etc/my3306.cnf编辑配置文件。

    2. Insert进入编辑模式

      1. 修改mysqld标签:
        • [mysqld]标签下添加命令:
        • 修改datadir = /home/mysql/mysqlDB/data3306
        • 增加port = 3306
        • 增加socket = /home/mysql/mysqlsock/sock3306.sock
      2. 增加[client]标签
        • 移动光标至文本末端
        • 增加default-character-set=utf8
        • 增加port = 3306
        • 增加socket = /home/mysql/mysqlsock/sock3306.sock
    3. 保存文档ESC+wq 保存退出。

  2. 配置my4306.cnf配置文件
    1. 在控制台中使用命令vim /etc/my4306.cnf编辑配置文件。

    2. Insert进入编辑模式

      1. 修改mysqld标签:
        • [mysqld]标签下添加命令:
        • 修改datadir = /home/mysql/mysqlDB/data4306
        • 增加port = 4306
        • 增加socket = /home/mysql/mysqlsock/sock4306.sock
      2. 增加[client]标签
        • 移动光标至文本末端
        • 增加default-character-set=utf8
        • 增加port = 4306
        • 增加socket = /home/mysql/mysqlsock/sock4306.sock
    3. 保存文档ESC+wq 保存退出。

代码举例如下:
**[mysqld]**标签

[mysqld]
basedir    = /usr/local/mysql
datadir = /home/mysql/mysqlDB/data4306
port = 4306
socket = /home/mysql/mysqlsock/sock4306.sock

**[client]**标签

[client]
default-character-set=utf8
port = 4306
socket = /home/mysql/mysqlsock/sock4306.sock

赋予目录权限和初始化数据库

  1. 赋予目录权限

    1. 执行chown -R mysql:mysql /home/mysql/mysqlDB/,赋予数据库目录,mysql用户权限。
    2. 执行chown -R mysql:mysql /home/mysql/mysqlsock/,赋予数据库日志目录,mysql用户权限。如下图所示:
      Alt text
  2. 初始化3306数据库:

    1. 执行cd /usr/local/mysql ,进入mysql目录中,
    2. 执行scripts/mysql_install_db --user=mysql --datadir=/home/mysql/mysqlDB/data3306/,
  3. 初始化4306端口数据库:

    1. 执行cd /usr/local/mysql ,进入mysql目录中,
    2. 执行scripts/mysql_install_db --user=mysql --datadir=/home/mysql/mysqlDB/data4306/,

注:每个--之前都有空格

启动mysql多端口和root用户设置

  1. 设置3306

    1. 设置3306端口数据库启动使用命令
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --basedir=/usr/local/mysql/ --datadir=/home/mysql/mysqlDB/data3306/ --user=mysql --skip-grant-tables &
    
     > 注:其中`--skip-grant-tables`是跳过授权
    
    1. 设置3306端口数据库root用户
    2. 登录mysql数据库:mysql -uroot -S /home/mysql/mysqlsock/sock3306.sock -P 3306
    3. 修改密码:
      1. 使用mysql数据库 use mysql;
      2. 设置密码update user set password=password('mnt123!@#asd') where user='root' and host='localhost';
      3. 刷新授权flush privileges;
  2. 设置4306

    1. 设置4306端口数据库启动使用命令
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my4306.cnf --basedir=/usr/local/mysql/ --datadir=/home/mysql/mysqlDB/data4306/ --user=mysql --skip-grant-tables &
    
     > 注:其中`--skip-grant-tables`是跳过授权
    
    1. 设置4306端口数据库root用户
    2. 登录mysql数据库:mysql -uroot -S /home/mysql/mysqlsock/sock4306.sock -P 4306
    3. 修改密码:
      1. 使用mysql数据库 use mysql;
      2. 设置密码update user set password=password('mnt123!@#asd') where user='root' and host='localhost';
      3. 刷新授权flush privileges;
      4. 停止当前服务
      5. 查看当前mysql的进程:ps -ef|grep mysql
      6. kill -9 进程ID 停止所有4306相关的进程
      7. 重新启动mysql

多端口登陆并设置远程登陆

  1. 执行mysql -uroot -p'mnt123!@#asd' -S /home/mysql/mysqlsock/sock4306.sock -P 3306登录数据库。
  2. 执行GRANT ALL PRIVILEGES ON core_db.* TO maiyam@"%" IDENTIFIED BY '123!@#asd';配置远程登录用户使用命令。

注:其中core_db是要授权的数据库,也可以直接使用*.*直接授予所有数据库权限。

设置防火墙

sed -i "/--dport 22/a\\-A INPUT -m state --state NEW -m tcp -p  tcp --dport 3306 -j ACCEPT " /etc/sysconfig/iptables;
sed -i "/--dport 3306 /a\\-A INPUT -m state --state NEW -m tcp -p tcp --dport 4306 -j ACCEPT" /etc/sysconfig/iptables;
sed -i "/--dport 4306 /a\\-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT" /etc/sysconfig/iptables;
service iptables restart;

停止服务和启动服务

  1. 停止命令:
mysqladmin -h127.0.0.1 -uroot -p'mnt123!@#asd' -P3306 shutdown
  1. 启动命令
	/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --basedir=/usr/local/mysql/ --datadir=/home/mysql/mysqlDB/data3306/ --user=mysql &

mysql多端口部署完成,通过远程登陆选择对应端口,自行导入数据库即可。


tomcat多端口部署操作

部署前说明

部署tomcat多端口前,请确保服务器上已经有tomcat。这里不在重复,tomcat安装及配置。

tomcat部署前配置

  1. XshellSSH命令窗口中使用cd /usr/local/tomcat/conf,进入tomcat/conf目录中。
  2. 通过Xftp将目中的Server.xml下载到本地并复制一份更名Serverbak.xml保存,以便修改失败恢复用。
  3. 编辑server.xml ,在文件末端</Service>标签与</Server>。如下图所示。
    Alt text
  4. </Service></Server>中填入如下配置:
<Service name="Catalina1"> <!--设置服务的名字,注意名字不能重复!这里设
置服务名为:Catalinal-->
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/><!-- 设置
服务连接地址的端口号,端口号也不能与系统中其他的端口号重复,这里设置8090-->
<Connector port="8888" enableLookups="false" redirectPort="844
3" protocol="AJP/1.3" />
<Engine name="Catalina1" defaultHost="localhost"><!--设置Servl
et引擎的名字,这个设置Catalina1-->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
      <Host name="localhost"  appBase="webapps1"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
</Engine>
</Service>

  1. 配置完成后保存。将修改后的Server.xml,通过Xftp到会到/usr/local/tomcat/conf/目录下,覆盖原文件。

说明:红色部分需要注意

停止tomcat服务和重启tomcat服务

查看进程:

执行ps –ef |grep tomcat,查看tomcat在linux中的进程号。如图所示:
Alt text

14396就是当前运行tomcat的进程号。

停止进程:

执行kill -9 14396 停止tomcat服务。

启动进程:

  1. 执行cd /usr/local/tomcat/bin,进入tomcat/bin目录中.
  2. 在命令窗口中输入./startup.sh启动tomcat程序。如图所示:
    Alt text