1、环境
centos6.8 ActiveMQ5.16.0 MySQL 8.0.112、问题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时区。