报错内容如下所示
[Z3001] connection to database 'zabbix' failed:
[1044] Access denied for user 'zabbix'@'%' to database 'zabbix
解决方案,修改zabbix用户权限
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
修改权限时报语法错误
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'Root@1234';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'Root@1234'' at line 1
查看mysql版本可得知,当前使用版本为8.0.12,语法有变化
使用下面的语法可正常修改
CREATE USER IF NOT EXISTS 'zabbix'@'%' IDENTIFIED BY 'Root@1234';
-- 或者,如果用户已经存在,只修改密码:
ALTER USER 'zabbix'@'%' IDENTIFIED BY 'Root@1234';
修改权限
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
刷新权限
FLUSH PRIVILEGES;
重新启动zabbix-server
systemctl start zabbix-server && systemctl enable zabbix-server && systemctl status zabbix-server