Mysql – Zabbix not connecting to MySql database

MySQLPHPzabbix

I'm trying to get Zabbix running under Amazon Linux

I've installed the following packages:

zabbix20-server-2.0.11-1.el6.x86_64
zabbix20-server-pgsql-2.0.11-1.el6.x86_64
zabbix20-web-mysql-2.0.11-1.el6.noarch
zabbix20-2.0.11-1.el6.x86_64
zabbix20-agent-2.0.11-1.el6.x86_64
zabbix20-web-2.0.11-1.el6.noarch

When I run:

service zabbix_server start

The log file shows:

 1265:20140317:053235.774 [Z3001] connection to database 'zabbix' failed: [0] server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
could not send startup packet: Broken pipe

I can connect from the same machine to the database:
mysql -h MYSQLSERVER.DOMAIN.NAME -uMYSQLUSER -pMYSQLPASSWORD -P 3306

I've configured /etc/zabbix_server.conf

# This is a configuration file for Zabbix Server process
# To get more information about Zabbix,
# visit http://www.zabbix.com

############ GENERAL PARAMETERS #################

### Option: NodeID
#       Unique NodeID in distributed setup.
#       0 - standalone server
#
# Mandatory: no
# Range: 0-999
# Default:
NodeID=0

### Option: ListenPort
#       Listen port for trapper.
#
# Mandatory: no
# Range: 1024-32767
# Default:
ListenPort=10051

### Option: SourceIP
#       Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=

### Option: LogFile
#       Name of log file.
#       If not set, syslog is used.
#
# Mandatory: no
# Default:
# LogFile=

LogFile=/var/log/zabbix/zabbix_server.log

### Option: LogFileSize
#       Maximum size of log file in MB.
#       0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
LogFileSize=0

### Option: DebugLevel
#       Specifies debug level
#       0 - no debug
#       1 - critical information
#       2 - error information
#       3 - warnings
#       4 - for debugging (produces lots of information)
#
# Mandatory: no
# Range: 0-4
# Default:
DebugLevel=4

### Option: PidFile
#       Name of PID file.
#
# Mandatory: no
# Default:
PidFile=/var/run/zabbix/zabbix_server.pid

### Option: DBHost
#       Database host name.
#       If set to localhost, socket is used for MySQL.
#       If set to empty string, socket is used for PostgreSQL.
#
# Mandatory: no
# Default:
DBHost=MYSQLSERVER.DOMAIN.NAME

### Option: DBName
#       Database name.
#       For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
#
# Mandatory: yes
# Default:
# DBName=

DBName=zabbix

### Option: DBSchema
#       Schema name. Used for IBM DB2.
#
# Mandatory: no
# Default:
# DBSchema=

### Option: DBUser
#       Database user. Ignored for SQLite.
#
# Mandatory: no
# Default:
# DBUser=

DBUser=MYSQLUSER

### Option: DBPassword
#       Database password. Ignored for SQLite.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=MYSQLPASSWORD

### Option: DBSocket
#       Path to MySQL socket.
#
# Mandatory: no
# Default:
DBSocket=/var/lib/mysql/mysql.sock

### Option: DBPort
#       Database port when not using local socket. Ignored for SQLite.
#
# Mandatory: no
# Range: 1024-65535
# Default (for MySQL):
DBPort=3306

############ ADVANCED PARAMETERS ################
MORE STUFF HERE ...............

Best Answer

The fact that you have "zabbix20-server-pgsql-2.0.11-1.el6.x86_64" package installed might indicate that your Zabbix server actually tries to connect to a PostgreSQL database.