一、环境
Activemq:5.15.5
Mysql:8.0.20
这里面一定要针对自己的环境进行配置,以前用的是mysql 5.x的版本,然后切换为8.0x的版本,各种报错,有配置文件的错误,有mysql授权远程登录等等...
二、引入jar包到Activemq安装目录下
我这里Activemq的安装目录是(/usr/local/activemq/apache-activemq-5.15.5),为了避免出错这个mysql数据库的驱动包请保持和你自己windows上安装的版本一模一样.
三、替换Activemq默认的持久化方式
具体的配置如下:
四、配置数据源
具体的配置如下:
五、启动Activemq
启动之后,可以看到windows上安装的数据库中自动生成了这几张表,生成完了以后记得设置createTablesOnStartup="false"
六、常见错误排查
1、出现了问题,不要慌,首先去看日志文件,这里有两种方式
方式一、./activemq console 查看启动日志
方式二、activemq的安装目录/data里面去查看日志
2、确认计算机主机名名称没有下划线(不是Linux虚拟机的名称)
3、如果是win7,停止ICS(运行–>services.msc找到Internet Connection Sharing (ICS)服务,改成手动启动或禁用)
4、window和Linux的防火墙是否已经关闭
5、Host is not allowed to connect to this MySQL server:Mysql不允许root用户远程登录,所以远程登录失败了
解决方案:
// 在装有MySQL的机器上使用命令登录mysql
MySQL mysql -u root -p密码
// 使用mysql数据库
use mysql;
// 这种方式是开放所有IP的root访问权限,如果是正式环境还是建议使用开放指定IP的方式
update user set host = ‘%’ where user = ‘root’;
// 执行刷新权限配置
FLUSH PRIVILEGES;
开放指定IP的方式
方式一:授权用户root使用密码jb51从任意主机连接到mysql服务器
方式二:授权用户root使用密码jb51从指定ip为218.12.50.60的主机连接到mysql服务器