怎么部署mysql数据库

怎么部署mysql数据库,第1张

1、 将mysql-connector-java-5.1.6-bin.jar,也在%Tomcat_Home%\common\lib\下,

2、 在tomcat中manager中配置数据源名,配置完后内容自动放在conf\server.xml中。

3、 在conf\catalina\localhost\下建你应用程序的xml文件,例wei2.xml中,内容为<Context docBase="wei2" path="/wei2">

<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>

</Context>

其中jdbc/mysql为配置的JNDI

下面说下JNDI与DataSource

JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;

要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。

JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接).

mysql集群部署 *** 作如下:

1、在MySQL集群中.当table引擎为NDBCLUSTER时才做集群,其他非NDBCLUSTER表和一般MySQL数据库表一样,不会共享数据。NDBCLUSTER表数据存储在Data node服务器内存中,Data Node可以为1台或多台服务器,它们之间存放共享数据。Data Node服务器可以分组数据copy。

例如:2,3,4,5为四台Data Node服务器ID. 2,3为组0; 4,5为组1; 2,3维持数据相同,4,5维持数据相同。 组0和组1维持数据不同。

2、sql node服务器中,非NDBCLUSTER数据存在本身数据库中,table引擎为NDBCLUSTER时,数据存储在Data Node中。当查询NDBCLUSTER表时,它会从Data node集群中提起数据.

3、Manager server管理SQl node和Data node状态。

mysql可以以docker的形式在集群内部署,也可以安装在集群之外,以服务的形式部署到集群内。

(1)、如果是在集群内部署,可以启动一个ReplicationController,用以对mysql pod进行监控,并同时启动一个Service,用以集群访问。

(2)、如果mysql是安装在集群之外,那么可以启动一个Endpoint和Service,将mysql引入集群之中。

下面分别对这两种方式进行部署。

创建mysql-rc.yaml和mysql-svc.yaml,分别如下:

mysql-rc.yaml

mysql-svc.yaml

在mysql-rc.yaml中,image参数可以指定mysql的版本,如8.0.11、5.7.22等。这里省略了,表示用latest。另外,可以指定镜像库,这里使用阿里云镜像库,在安装docker时进行了配置。env参数指定了mysql的root密码。

​ 在mysql-svc.yaml中,targetPort表示mysql pod中mysql窗口的目标端口,默认为3306,type类型为NodePort,表示将映射到本地端口,本地端口为nodePort: 30306。

接下来启动ReplicationController和Service,执行以下命令:

启动后可以查看mysql部署在了哪个node上,执行以下命令可以查看:

(6)、退出mysql和容器,执行quit退出mysql,按ctrl+p后,再按ctrl+q从容器中返回node主机。

设置好mysql后,可以远程连接node中的mysql,node的ip为127.0.0.1,映射的端口为30306,可以用navicat工具连接到这个myql。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/8674283.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存