运维开发网

Centos7安装Zabbix实战_mysql简单部署以及遇到的问题

运维开发网 https://www.qedev.com 2021-02-20 12:32 出处:51CTO 作者:李石岩
zabbix上的配置mysql的基本配置
  1. 环境介绍

1. 系统版本

CentOS 7   最新版本

2. zabbix 版本

4.0.1

3. MySQL数据库版本 

8.0.13
  1.  参考官方文档部署

shell> groupadd mysql
shell> usermod -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar xvf /path/to/mysql-VERSION-OS.tar.xz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

[[email protected] data]# cat /etc/my.cnf
[client]
port = 3306
#socket = /tmp/mysql.sock
socket = /var/lib/mysql/mysql.sock         ------->配置很重要,因为zabbix页面上设置可能会出现问题
[mysqldump]
[mysqld_safe]
socket = /var/lib/mysql/mysql.sock         ------->配置很重要,因为zabbix页面上设置可能会出现问题
[mysql]
no-auto-rehash
[mysqld]
server_id = 1
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data01/mysql/data
#skip-grant-tables=1
default_authentication_plugin=mysql_native_password

2. 安装步骤完启动后以及遇到的问题

问题一、安装完数据库以后,启动后显示随机密码过期如何解决

[[email protected] mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql 
2021-02-18T08:08:17.284183Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 25208
2021-02-18T08:08:19.974662Z 5 [Note] [MY-010454] [Server] A temporary password is generated for [email protected]: iR>j1ws%ipf4
2021-02-18T08:08:22.371628Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed
[[email protected] mysql]# mysql -uroot -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[[email protected] mysql]# mysql -uroot -p -S /tmp/mysql.sock
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[[email protected] mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
cp: overwrite ‘/etc/init.d/mysql.server’? y
[[email protected] mysql]# vim /etc/init.d/mysql.server 
[[email protected] mysql]# /etc/init.d/mysql.server start
Starting MySQL.Logging to '/data01/mysql/data/zabbix.err'.
. SUCCESS! 
[[email protected] mysql]# 
密码输入正确,但是报错了
[[email protected] mysql]# mysql -uroot -p
Enter password: 
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

问题二、密码修改后还是无法登陆,8版本需要修改成比较复杂的密码,我修改成[email protected]

报错如下

[[email protected] data]# mysql -uroot -p -h localhost
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

解决方法:

添加参数init-file="/tmp/root.sql"   
[[email protected] data]# cat /tmp/root.sql 
alter user [email protected]'localhost' identified by '[email protected]';
[[email protected] data]#

问题三、 mysql8 账户添加问题,mysql5.7与mysql8的差别。mysql8越来越像oracle了

MySQL [(none)]> use mysql
Database changed
MySQL [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)
MySQL [mysql]> grant all privileges on zabbix.* to [email protected] identified by '[email protected]';
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 '[email protected]'' at line 1
MySQL [mysql]> grant all privileges on zabbix.* to [email protected] identified by '[email protected]' Ctrl-C -- exit!
Aborted
mysql8跟Oracle差不多了。
[[email protected] ~]# mysql -uroot [email protected]
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.13 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> use mysql
Database changed
MySQL [mysql]> use zabbix
Database changed
MySQL [zabbix]> create user   'zabbix'@'localhost' identified by '[email protected]';
Query OK, 0 rows affected (0.11 sec)
MySQL [zabbix]>  grant all privileges on zabbix.* to 'zabbix'@'localhost';
Query OK, 0 rows affected (0.01 sec)
MySQL [zabbix]>  flush privileges;
Query OK, 0 rows affected (0.01 sec)
[[email protected] data]# cat /tmp/root.sql 
alter user [email protected]'localhost' identified by '[email protected]';
[[email protected] ~]# cat /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqldump]
[mysqld_safe]
[mysql]
no-auto-rehash
[mysqld]
server_id = 1
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data01/mysql/data
init-file="/tmp/root.sql"
#skip-grant-tables=1
default_authentication_plugin=mysql_native_password

然后重启

/etc/init.d/mysqld.server   restart

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号