虚拟机上的ActiveMQ连接Windows上的本地数据库MySQL报错问题的解决

tech2024-06-04  73

1、环境

centos6.8 ActiveMQ5.16.0 MySQL 8.0.11

2、问题1 错误信息如下:

Cannot create PoolableConnectionFactory (null, message from server: "Host 'LAPTOP-5NUHM8TD' is not allowed to connect to this MySQL server")

  原因是:作为远程服务器的本地Windows上的MySQL应用不允许我们的虚拟机上的ActiveMQ程序访问。因此,我们要对本地的MySQL服务器进行设置,使它允许进行虚拟机上的ActiveMQ程序访问连接。 步骤如下: (1)打开mysql控制台,使用系统的mysq库:

use mysql;

(2)选中要修改的表

show tables; select host,user from user where user='root';

(3)删除无效的表

delete from user where host = '192.168.10.101';

(4)授权

update user set host ='%' where user ='root';

(5)重启mysql服务即可。

3、时区问题 (1)修改本地数据库的时区   对于驱动为8.0的数据库,如果过不更改,会报一些时区错误。

-- 查看我们的时区 show variables like '%time_zone%'; -- 更改我们的时区 set time_zone = '+8:00'; -- 查看当前时间 select now();

(2)ActiveMQ中配置文件bin/activemq.xml连接数据库的配置

an id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://192.168.43.4:3306/activemq?relaxAutoCommit=true&amp;serverTimezone=GMT%2B8"/> <property name="username" value="root"/> <property name="password" value="123"/> <property name="poolPreparedStatements" value="true"/> </bean>

  在核心配置处,使用进行连接,不然时区还是配置成功。   在核心配置处,使用&进行连接,不然时区还是配置成功。   GMT%2B8表示的是中国所处的GMT+8时区。

最新回复(0)