mysql5.7密码修改与报错分析

时间:2022-05-19 11:48:26

1、修改密码

修改密码:
vim /etc/my.cnf 的mysqld字段加入skip-grant-tables
重启MySQL,service mysqld restart
终端输入 mysql 直接登录MySQL数据库,然后
use mysql
update mysql.user set authentication_string=password('123@wanyun') where user='root';
update mysql.user set password_expired='N' where user='root';
编辑my.cnf文件删掉skip-grant-tables 这一行,然后重启MySQL

2、无论做什么该密码的操作,使用数据库时总是报错。

mysql5.7密码修改与报错分析

安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个

step 1: SET PASSWORD = PASSWORD('123@wanyun');

step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

step 3: flush privileges;

完成以上三步退出再登,使用新设置的密码就行了,以上除了红色的自己修改成新密码外,其他原样输入即可。

3、报错分析

1)在shell终端输入加入-e输入命令时报错:

mysql5.7密码修改与报错分析

解决方法:添加一个参数--connect-expired-password

2)使用zabbix自带模板对mysql进行监控时,发现mysql5.6以上版本在使用mysqladmin时会发出警告:“Warning: Using a password on the command line interface can be         insecure.” 。这样zabbix服务端获取数值的时候,会带有该字符串,导致报错。

解决方法:

将mysqladmin的警告信息重定向到/dev/null,忽略掉告警信息。

/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status  2>/dev/null|grep -w "Com_select"|cut -d"|" -f3`

在原有命令中加上2>/dev/null 就行了。