多端口部署操作
mysql多端口部署操作
部署前说明
部署mysql多端口前,请确保服务器上已经有mysql数据库。这里不在重复,mysql数据库安装及配置。
创建数据库存放目录
在Xshell或SSH上登录服务器,在控制台中使用mkdir -p /home/mysql/mysqlDB/文件夹名称
,创建数据存放目录。
注:多端口可以在data目录后追加端口号,这样便利后期查询启动错误日志。例如:
mkdir -p /home/mysql/mysqlDB/data3306
mkdir -p /home/mysql/mysqlDB/data4306
如下图所示:
创建mysqlSock代理文件夹
在控制台中使用mkdir -p /home/mysqlsock/文件名称
,创建数据存放目录。
注:以多端口号作为文件名称。例如:
mkdir -p /home/mysql/mysqlsock/
详情如图:
复制和配置my.cnf
复制my.cnf配置文件:
执行下面语句复制mysql数据库配置文件到/etc/
目录下并更名为my3306.cnf
。重复命令建立my4306.cnf。
cp /usr/local/mysql/my.cnf /etc/my3306.cnf
详情如下图所示:
配置my.cnf配置文件:
- 配置my3306.cnf配置文件:
-
在控制台中使用命令
vim /etc/my3306.cnf
编辑配置文件。 -
按
Insert
进入编辑模式- 修改
mysqld
标签:- 在
[mysqld]
标签下添加命令: - 修改
datadir = /home/mysql/mysqlDB/data3306
- 增加
port = 3306
- 增加
socket = /home/mysql/mysqlsock/sock3306.sock
- 在
- 增加
[client]
标签- 移动光标至文本末端
- 增加
default-character-set=utf8
- 增加
port = 3306
- 增加
socket = /home/mysql/mysqlsock/sock3306.sock
- 修改
-
保存文档
ESC+wq
保存退出。
-
- 配置my4306.cnf配置文件
-
在控制台中使用命令
vim /etc/my4306.cnf
编辑配置文件。 -
按
Insert
进入编辑模式- 修改
mysqld
标签:- 在
[mysqld]
标签下添加命令: - 修改
datadir = /home/mysql/mysqlDB/data4306
- 增加
port = 4306
- 增加
socket = /home/mysql/mysqlsock/sock4306.sock
- 在
- 增加
[client]
标签- 移动光标至文本末端
- 增加
default-character-set=utf8
- 增加
port = 4306
- 增加
socket = /home/mysql/mysqlsock/sock4306.sock
- 修改
-
保存文档
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
赋予目录权限和初始化数据库
-
赋予目录权限
- 执行
chown -R mysql:mysql /home/mysql/mysqlDB/
,赋予数据库目录,mysql用户权限。 - 执行
chown -R mysql:mysql /home/mysql/mysqlsock/
,赋予数据库日志目录,mysql用户权限。如下图所示:
- 执行
-
初始化3306数据库:
- 执行
cd /usr/local/mysql
,进入mysql目录中, - 执行
scripts/mysql_install_db --user=mysql --datadir=/home/mysql/mysqlDB/data3306/
,
- 执行
-
初始化4306端口数据库:
- 执行
cd /usr/local/mysql
,进入mysql目录中, - 执行
scripts/mysql_install_db --user=mysql --datadir=/home/mysql/mysqlDB/data4306/
,
- 执行
注:每个
--
之前都有空格
启动mysql多端口和root用户设置
-
设置3306
- 设置
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`是跳过授权
- 设置
3306
端口数据库root用户 - 登录mysql数据库:
mysql -uroot -S /home/mysql/mysqlsock/sock3306.sock -P 3306
- 修改密码:
- 使用mysql数据库
use mysql;
- 设置密码
update user set password=password('mnt123!@#asd') where user='root' and host='localhost';
- 刷新授权
flush privileges;
- 使用mysql数据库
- 设置
-
设置4306
- 设置
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`是跳过授权
- 设置
4306
端口数据库root用户 - 登录mysql数据库:
mysql -uroot -S /home/mysql/mysqlsock/sock4306.sock -P 4306
- 修改密码:
- 使用mysql数据库
use mysql;
- 设置密码
update user set password=password('mnt123!@#asd') where user='root' and host='localhost';
- 刷新授权
flush privileges;
- 停止当前服务
- 查看当前mysql的进程:
ps -ef|grep mysql
kill -9 进程ID
停止所有4306相关的进程- 重新启动
mysql
。
- 使用mysql数据库
- 设置
多端口登陆并设置远程登陆
- 执行
mysql -uroot -p'mnt123!@#asd' -S /home/mysql/mysqlsock/sock4306.sock -P 3306
登录数据库。 - 执行
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;
停止服务和启动服务
- 停止命令:
mysqladmin -h127.0.0.1 -uroot -p'mnt123!@#asd' -P3306 shutdown
- 启动命令
/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部署前配置
- 在
Xshell
或SSH
命令窗口中使用cd /usr/local/tomcat/conf
,进入tomcat/conf
目录中。 - 通过
Xftp
将目中的Server.xml
下载到本地并复制一份更名Serverbak.xml
保存,以便修改失败恢复用。 - 编辑
server.xml
,在文件末端</Service>
标签与</Server>
。如下图所示。
- 在
</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 "%r" %s %b" />
</Host>
</Engine>
</Service>
- 配置完成后保存。将修改后的Server.xml,通过Xftp到会到/usr/local/tomcat/conf/目录下,覆盖原文件。
说明:红色部分需要注意
停止tomcat服务和重启tomcat服务
查看进程:
执行ps –ef |grep tomcat
,查看tomcat在linux中的进程号。如图所示:
14396
就是当前运行tomcat
的进程号。
停止进程:
执行kill -9 14396
停止tomcat
服务。
启动进程:
- 执行
cd /usr/local/tomcat/bin
,进入tomcat/bin目录中. - 在命令窗口中输入
./startup.sh
启动tomcat
程序。如图所示: