Create the Initial Database

Video Lecture

Create the Initial Database Create the Initial Database

Description

The commands executed in this video are,

1
mysql -uroot -p

Note

If you get an error that MySQL is not installed, see the section below, Installing MySQL first.

Then press enter if you have no password or type the root password if you've set one.

1
create database zabbix character set utf8 collate utf8_bin;
1
create user zabbix@localhost identified by 'password';
1
grant all privileges on zabbix.* to zabbix@localhost;
1
quit;

Import the schema,

1
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Then press enter if you have no password or type the root password if you've set one.

Wait about 30 seconds for it to finish,

Then edit the Zabbix Server configuration file and set the DBPassword property to being password or the password that you set earlier

1
sudo nano /etc/zabbix/zabbix_server.conf
1
2
3
...
DBPassword=password
...

Note

I use nano, you can also use vim or many other text editors. If nano is not already installed on your OS, then on Ubuntu run sudo apt install nano, and on Centos run yum install nano

Installing MySQL

If mySQL is not already setup on your OS, you can install it by following the instructions.

Ubuntu 18

1
2
3
sudo apt install mysql-server

sudo mysql_secure_installation

You can select Y as the answer for all questions.

1
sudo service mysql status

It should now indicate that MySQL is now active. You can continue with this lecture.

Centos 7

1
2
3
4
5
6
7
8
9
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

yum install mysql-community-server

sudo systemctl start mysqld

sudo systemctl status mysqld

sudo grep 'temporary password' /var/log/mysqld.log

take note of the password, you will need it in the next step

1
sudo mysql_secure_installation

You will be required to enter a new password, so enter a new 12-character password that contains at least one uppercase letter, one lowercase letter, one number and one special character.

You can select Y as the answer for all questions during the MySQL Secure Installation phase.

Troubleshooting

Q. You get the error "ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: NO)"

A. When you set up the database, you logged into mysql using root

mysql -uroot -p You then entered some commands,

create database zabbix character set utf8 collate utf8_bin; This created a zabbix database

You then added a user called zabbix with the password password.

create user zabbix@localhost identified by 'password';

You then granted all privileges to the zabbix user for the zabbix database

grant all privileges on zabbix.* to zabbix@localhost;

When you imported the schema, it runs it using the zabbix user and zabbix database. See the bit after the pipe symbol |

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

When you run the zcat command, you are prompted for a password. Use the zabbix user password. In my example, the password is password.