一、环境介绍
OS版本:CentOS7.9
数据库版本:MySQL8.0.19
1、安装依赖、关闭selinux,调整firewalld、创建用户
卸载系统自带mariadb libs包:libs=`rpm -qa | grep mariadb*` && rpm -e --nodeps $libs
安装依赖:yum -y install libaio perl net-tools pkgconfig\(openssl\)
关闭selinux:sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config && setenforce 0
放行防火墙端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent && firewall-cmd --reload
添加zabbix用户:groupadd zabbix && useradd -g zabbix -M -s /sbin/nologin zabbix
2、安装MySQL数据库
解压mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar文件,按顺序安装下列rpm包:
rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm
3、配置MySQL数据库
启动数据库:systemctl start mysqld && systemctl enable mysqld
查看默认密码:cat /var/log/mysqld.log | grep password
登录MySQL数据库更改默认设置:
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
mysql> UPDATE mysql.user SET `Host`='%' WHERE User='root';
mysql> flush privileges;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your password';
mysql> grant system_user on *.* to 'root';
mysql> flush privileges;
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'Zabbix@123';
mysql> flush privileges;
mysql> grant all privileges on *.* to zabbix@'%' with grant option;
mysql> ALTER USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'Zabbix@123';
mysql> flush privileges;
mysql> exit
4、更改MySQL默认目录
关闭数据库,移动数据库文件:systemctl stop mysqld && mv /var/lib/mysql /data
修改数据库配置文件:vi /etc/my.cnf
[client]
port=3306
socket=/data/mysql/mysql.sock
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
开启数据库:systemctl start mysqld
5、导入zabbix数据库
zcat server.sql.gz | mysql -uzabbix -p zabbix #server.sql.gz文件提前从zabbix server节点拷贝过来
命令运行结束后,可以看到zabbix这个数据库