MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password('123456') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql
上图是设置root密码之后的加上注释

进去mysql里设置root密码
mysql> update mysql.user set authentication_string=password('123456') where user='root' ;
Query OK, 1 row affected, 1 warning (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> exit
Bye
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql
[root@mha ~]# vi /etc/my.cnf ###进去把skip-grant-tables注释了
[root@mha ~]# systemctl restart mysqld
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql

mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 8 |
+----------------------------+
1 row in set (0.00 sec)
validate_password_length参数默认为8,它有最小值的限制,最小值为:
validate_password_number_count

  • validate_password_special_char_count
  • (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。

这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。如下所示:

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 8 |
+----------------------------+
1 row in set (0.00 sec)

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 4 |
+----------------------------+
1 row in set (0.00 sec)
如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 4 |
+----------------------------+
1 row in set (0.00 sec)

mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
| 1 |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> set global validate_password_mixed_case_count=2;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@validate_password_mixed_case_count;
+--------------------------------------+
| @@validate_password_mixed_case_count |
+--------------------------------------+
| 2 |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 6 |
+----------------------------+
1 row in set (0.00 sec)

https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
初始化mysql时候改的密码
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql

5、允许Zabbix web console 对特定IP段可用 (可选)
编辑文件 /etc/httpd/conf.d/zabbix.conf,

vi /etc/httpd/conf.d/zabbix.conf
添加允许访问 zabbix web interface的ip段. 如果设置 ‘Allow from All’, 这可以允许全部可以访问

#

Zabbix monitoring system php web frontend

#

Alias /zabbix /usr/share/zabbix

<Directory"/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted

<IfModulemod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
</IfModule>
</Directory>

<Directory"/usr/share/zabbix/conf">
Require all denied
</Directory>

<Directory"/usr/share/zabbix/include">
Require all denied
</Directory>
启动zabbix-server 和zabbix-agent。重启httpd,,并设置zabbix-server和zabbix-agent开机自动启动

systemctl start zabbix-server

systemctl start zabbix-agent

systemctl restart httpd

systemctl restart mariadb

systemctl enable zabbix-server

systemctl enable zabbix-agent ---- (可选)

6、安装并部署zabbix
准备:
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uv http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
安装:
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway
部署:
(1)编辑 file /etc/httpd/conf.d/zabbix:

vi /etc/httpd/conf.d/zabbix.conf
更新时区:

php_value date.timezone Asia/Shanghai
重启httpd

systemctl restart httpd
(2)创建MySQL 数据库和用户
登录MariaDB:

mysql –u root –p
创建一个数据库‘zabbixdb’和数据库用户‘zabbix’

MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456';

MariaDB [(none)]> flush privileges;
(3)数据库导入zabbix template
使用数据库用户zabbix登录数据库

mysql –uzabbix –p
切换到zabbix数据库

use zabbix
导入模板数据

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/schema.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/images.sql

MariaDB [zabbix]> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/data.sql
(4)配置Zabbix server
编辑文件/etc/zabbix/zabbix_server.conf,

vi /etc/zabbix/zabbix_server.conf
配置下面的三个参数

[...]
DBName=zabbix
[...]
DBUser=zabbix
[...]
DBPassword=123456
[...]
(5)配置zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
配置zabbix server 的ip

[...]

Line 85 - Specify Zabbix server

Server=127.0.0.1

[...]

Line 126 - Specify Zabbix server

ServerActive=127.0.0.1

[...]

Line 137 - Specify Zabbix server Hostname or IP address

Hostname=127.0.0.1

[...]
(6)修改PHP 设置
修改php.ini为zabbix 建议的设置

编辑文件 php.ini,

vi /etc/php.ini
设置下面的参数.

max_execution_time = 600
max_input_time = 600
memory_limit = 256
Mpost_max_size = 32M
upload_max_filesize = 16M
date.timezone = Asia/Shanghai

(7)web页面安装zabbix
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql
前期工作做好了,就都OK
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql
web页面默认登陆密码和用户名,Admin/zabbix
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql

zabbix监控mysql
zabbix客户端的mysql配置要把client配置好:
[client]
#socket=/app/mysql/lib/mysql.sock
socket=/var/lib/mysql/mysql.sock
user=root
host=localhost
password=123456

mysql的zabbix客户端正确自定义key (如果按照百度出来的key:mysql.version mysql.status mysql.ping的这样配置是错误导致无法启动zabbix-agent服务,可能是版本的原因吧),下面是正确配置:
UnsafeUserParameters=1

UserParameter=version,mysql -V
UserParameter=status[],/etc/zabbix/scripts/check_mysql.sh $1
UserParameter=ping[
],mysqladmin -u zabbix -p123456 ping | grep -c alive
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql

zabbix客户端的mysql脚本:
[root@mariadb02 zabbix]# cat scripts/check_mysql.sh
#!/bin/bash
source /etc/profile

用户名

#MYSQL_USER='zabbix'

密码

#MYSQL_PWD='123456'

主机地址/IP

#MYSQL_HOST='127.0.0.1'

端口

#MYSQL_PORT='3306'

数据连接

#mysqladmin=/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}
mysqladmin=which mysqladmin

case $1 in 
Uptime) 
result=${mysqladmin} status|cut -f2 -d":"|cut -f1 -d"T" 
echo $result 
;; 
Com_update) 
result=${mysqladmin} extended-status |grep -w "Com_update"|cut -d"|" -f3 
echo $result 
;; 
Slow_queries) 
result=${mysqladmin} status |cut -f5 -d":"|cut -f1 -d"O" 
echo $result 
;; 
Com_select) 
result=${mysqladmin} extended-status |grep -w "Com_select"|cut -d"|" -f3 
echo $result 
;; 
Com_rollback) 
result=${mysqladmin} extended-status |grep -w "Com_rollback"|cut -d"|" -f3 
echo $result 
;; 
Questions) 
result=${mysqladmin} status|cut -f4 -d":"|cut -f1 -d"S" 
echo $result 
;; 
Com_insert) 
result=${mysqladmin} extended-status |grep -w "Com_insert"|cut -d"|" -f3 
echo $result 
;; 
Com_delete) 
result=${mysqladmin} extended-status |grep -w "Com_delete"|cut -d"|" -f3 
echo $result 
;; 
Com_commit) 
result=${mysqladmin} extended-status |grep -w "Com_commit"|cut -d"|" -f3 
echo $result 
;; 
Bytes_sent) 
result=${mysqladmin} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3 
echo $result 
;; 
Bytes_received) 
result=${mysqladmin} extended-status |grep -w "Bytes_received" |cut -d"|" -f3 
echo $result 
;; 
Com_begin) 
result=${mysqladmin} extended-status |grep -w "Com_begin"|cut -d"|" -f3 
echo $result 
;;

    *) 
    echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" 
    ;; 

esac

zabbix服务端的log日志
MySQL5.7改密码无password字段并存在1820的报错,并部署zabbix和监控mysql



     本文转自wsw26 51CTO博客,原文链接:http://blog.51cto.com/wsw26/2063654,如需转载请自行联系原作者






相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
78 26
|
2月前
|
SQL Java 关系型数据库
MySQL原理简介—3.生产环境的部署压测
本文介绍了Java系统和数据库在高并发场景下的压测要点: 1. 普通系统在4核8G机器上每秒能处理几百个请求 2. 高并发下数据库建议使用8核16G或更高配置的机器 3. 数据库部署后需进行基准压测,以评估其最大承载能力 4. QPS和TPS的区别及重要性 5. 压测时需关注IOPS、吞吐量、延迟 6. 除了QPS和TPS,还需监控CPU、内存、磁盘IO、网络带宽 7. 影响每秒可处理并发请求数的因素包括线程数、CPU、内存、磁盘IO和网络带宽 8. Sysbench是数据库压测工具,可构造测试数据并模拟高并发场景 9. 在增加线程数量的同时,必须观察机器的性能,确保各硬件负载在合理范围
166 72
|
3月前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
3月前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
4月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
265 26
|
4月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
108 5
|
5月前
|
存储 关系型数据库 MySQL
【赵渝强老师】解决MySQL丢失root用户密码
本文介绍了MySQL数据库中用户密码存储的变化,以及如何通过特殊方法重置root用户的密码。从MySQL 5.7版本开始,密码字段由“password”改为“authentication_string”。文章详细列出了重置密码的步骤,并提供了相关代码示例和视频教程。
188 0
|
6月前
|
存储 关系型数据库 MySQL
【MySQL精装典藏版】MySQL的安装与部署
【MySQL精装典藏版】MySQL的安装与部署
83 0
|
9天前
|
运维 监控 安全
【案例分享】中国通号卡斯柯公司:ZABBIX如何破解轨道交通监控难题
本文根据2023上海峰会上朱林贤的演讲整理,聚焦中国通号卡斯柯公司如何借助Zabbix实现轨道交通信号系统的智能化管理。作为中外合资企业,卡斯柯通过统一平台整合设备监控,大幅降低成本并提升灵活性,成功应用于国内外项目。文章探讨了传统监控系统的痛点、研发维护经验及国产化与开源技术挑战,为行业转型提供了宝贵启示。未来,开放协作将是推动轨道交通智能化发展的关键。
31 0
|
2月前
|
存储 缓存 监控

推荐镜像

更多