Using this combo:
Fedora 38
Zabbix 6.4.11
community-mysql-server-8.0.35
# mysql DB backend initialisation for zabbix_server
export zabbix_db=localhost zabbix_server=localhost zabbix_web=localhost
mysql -h $zabbix_db -e "create database zabbix character set utf8mb4 collate utf8mb4_bin"
mysql -h $zabbix_db -e "set global log_bin_trust_function_creators = 1;"
xzcat /usr/share/doc/zabbix-server/mysql_server_schema.sql.xz | mysql -h $zabbix_db zabbix
xzcat /usr/share/doc/zabbix-server/mysql_server_images.sql.xz | mysql -h $zabbix_db zabbix
< cat zabbix/data.sql | mysql -h $zabbix_db zabbix >
mysql -h $zabbix_db -e "set global log_bin_trust_function_creators = 0;"
mysql -h $zabbix_db -e "CREATE USER 'zabbix'@'$zabbix_server' IDENTIFIED BY 'password'; GRANT SELECT, DROP, CREATE, INSERT, UPDATE, DELETE, INDEX, ALTER, REFERENCES ON zabbix.* TO 'zabbix'@'$zabbix_server'; FLUSH PRIVILEGES;"
mysql -h $zabbix_db -e "CREATE USER 'zabbix_web'@'$zabbix_web' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, REFERENCES ON zabbix.* TO 'zabbix_web'@'$zabbix_web'; FLUSH PRIVILEGES;"
First issue looks to be on trying to import the data.sql file:
# cat zabbix/data.sql | mysql -h $zabbix_db zabbix
ERROR 1062 (23000) at line 1: Duplicate entry '1' for key 'images.PRIMARY'
ls -la /usr/share/doc/zabbix-server/
-rwxr-xr-x 1 root root 1002424 Jan 29 18:09 mysql_server_images.sql.xz
-rwxr-xr-x 1 root root 15160 Jan 29 18:09 mysql_server_schema.sql.xz
When I then use files provided by zabbix-dbfiles-mysql:
# ls -la /usr/share/zabbix-mysql/
-rw-r--r-- 1 root root 38905383 Jan 4 00:00 data.sql
-rw-r--r-- 1 root root 282 Dec 13 08:17 double.sql
-rw-r--r-- 1 root root 1527 Dec 13 08:18 history_pk_prepare.sql
-rw-r--r-- 1 root root 1978341 Dec 13 08:17 images.sql
-rw-r--r-- 1 root root 166156 Dec 13 08:18 schema.sql
# cat /usr/share/zabbix-mysql/data.sql | mysql -h $zabbix_db zabbix
ERROR 1054 (42S22) at line 8: Unknown column 'internal' in 'field list'
Others are ok:
# cat /usr/share/zabbix-mysql/double.sql | mysql -h $zabbix_db zabbix
# cat /usr/share/zabbix-mysql/history_pk_prepare.sql | mysql -h $zabbix_db zabbix
#
mysqld runs fine:
"/usr/libexec/mysqld: ready for connections. Version: '8.0.35' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution."
mysql> select max(imageid) from images;
+--------------+
| max(imageid) |
+--------------+
| 187 |
Journalctl informs me that:
"Failed to start zabbix-server.service - Zabbix Server."
From zabbix_server.log I see:
"cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)"
Using Mysql:
mysql> use zabbix;
mysql> select * from users;
Empty set (0.00 sec)
mysql> SHOW GRANTS FOR 'zabbix'@'localhost';
+--------------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost |
+--------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `zabbix`@`localhost` |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `zabbix`.* TO `zabbix`@`localhost`
Ideas on how to handle this "users" table is empty section? Looks like some other import needs to be run to populate this?
May be able to ignore this data.sql?
Fedora 38
Zabbix 6.4.11
community-mysql-server-8.0.35
# mysql DB backend initialisation for zabbix_server
export zabbix_db=localhost zabbix_server=localhost zabbix_web=localhost
mysql -h $zabbix_db -e "create database zabbix character set utf8mb4 collate utf8mb4_bin"
mysql -h $zabbix_db -e "set global log_bin_trust_function_creators = 1;"
xzcat /usr/share/doc/zabbix-server/mysql_server_schema.sql.xz | mysql -h $zabbix_db zabbix
xzcat /usr/share/doc/zabbix-server/mysql_server_images.sql.xz | mysql -h $zabbix_db zabbix
< cat zabbix/data.sql | mysql -h $zabbix_db zabbix >
mysql -h $zabbix_db -e "set global log_bin_trust_function_creators = 0;"
mysql -h $zabbix_db -e "CREATE USER 'zabbix'@'$zabbix_server' IDENTIFIED BY 'password'; GRANT SELECT, DROP, CREATE, INSERT, UPDATE, DELETE, INDEX, ALTER, REFERENCES ON zabbix.* TO 'zabbix'@'$zabbix_server'; FLUSH PRIVILEGES;"
mysql -h $zabbix_db -e "CREATE USER 'zabbix_web'@'$zabbix_web' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, REFERENCES ON zabbix.* TO 'zabbix_web'@'$zabbix_web'; FLUSH PRIVILEGES;"
First issue looks to be on trying to import the data.sql file:
# cat zabbix/data.sql | mysql -h $zabbix_db zabbix
ERROR 1062 (23000) at line 1: Duplicate entry '1' for key 'images.PRIMARY'
ls -la /usr/share/doc/zabbix-server/
-rwxr-xr-x 1 root root 1002424 Jan 29 18:09 mysql_server_images.sql.xz
-rwxr-xr-x 1 root root 15160 Jan 29 18:09 mysql_server_schema.sql.xz
When I then use files provided by zabbix-dbfiles-mysql:
# ls -la /usr/share/zabbix-mysql/
-rw-r--r-- 1 root root 38905383 Jan 4 00:00 data.sql
-rw-r--r-- 1 root root 282 Dec 13 08:17 double.sql
-rw-r--r-- 1 root root 1527 Dec 13 08:18 history_pk_prepare.sql
-rw-r--r-- 1 root root 1978341 Dec 13 08:17 images.sql
-rw-r--r-- 1 root root 166156 Dec 13 08:18 schema.sql
# cat /usr/share/zabbix-mysql/data.sql | mysql -h $zabbix_db zabbix
ERROR 1054 (42S22) at line 8: Unknown column 'internal' in 'field list'
Others are ok:
# cat /usr/share/zabbix-mysql/double.sql | mysql -h $zabbix_db zabbix
# cat /usr/share/zabbix-mysql/history_pk_prepare.sql | mysql -h $zabbix_db zabbix
#
mysqld runs fine:
"/usr/libexec/mysqld: ready for connections. Version: '8.0.35' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution."
mysql> select max(imageid) from images;
+--------------+
| max(imageid) |
+--------------+
| 187 |
Journalctl informs me that:
"Failed to start zabbix-server.service - Zabbix Server."
From zabbix_server.log I see:
"cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)"
Using Mysql:
mysql> use zabbix;
mysql> select * from users;
Empty set (0.00 sec)
mysql> SHOW GRANTS FOR 'zabbix'@'localhost';
+--------------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost |
+--------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `zabbix`@`localhost` |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `zabbix`.* TO `zabbix`@`localhost`
Ideas on how to handle this "users" table is empty section? Looks like some other import needs to be run to populate this?
May be able to ignore this data.sql?
Comment