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&serverTimezone=GMT%2B8"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
在核心配置处,使用进行连接,不然时区还是配置成功。
在核心配置处,使用&进行连接,不然时区还是配置成功。
GMT%2B8表示的是中国所处的GMT+8时区。