Mysql遇到的问题记录

登录时报错

命令登录入数据库时报错2002 (HY000): Can’t connect to local MySQL server through socket

[root@VM_5_17_centos ~]# mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

原因:mysql没启动,执行“systemctl start mysql”
启动后’/var/lib/mysql/mysql.sock’则存在了,如下所示

[root@VM_5_17_centos mysql]# pwd
/var/lib/mysql
[root@VM_5_17_centos mysql]# ls | grep .sock
mysql.sock
mysql.sock.lock

创建用户时报错

报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因:主要是密码太简单了,修改下即可

mysql> create user 'admin'@'%' identified by '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql> create user 'admin'@'%' identified by '4adb%SDA'
    -> ;
Query OK, 0 rows affected (0.00 sec)

远程连接错误-mysql8为例

解决

// 登录
[root@iZuf6agiqhn4s48doletzuZ ~]# mysql -u root -p
Enter password: 
// 创建对象赋予权限
mysql> create user 'opt2'@'%' identified with mysql_native_password by '4rwe%SFC';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to 'opt2'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
// 对于已存在的用户,则需要修改host、加密方式、密码
mysql> update user set host= '%' where user = 'opt2';
alter user 'opt2'@'%' identified with mysql_native_password by '4rwe%SFC';
alter user 'admin1'@'%' identified with mysql_native_password by '4rfv%TGB';
alter user 'admin1'@'211.161.244.251' identified with mysql_native_password by '4rfv%TGB';
alter user 'admin1'@'211.161.244.251' identified with mysql_native_password by '4rfv%TGB';



报错类型

2059

在这里插入图片描述
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,

mysql> select user,mmysql> select user,plugin from user;
| admin            | caching_sha2_password |

mysql> update user set plugin = 'mysql_native_password' where user = 'admin';

mysql> select user,plugin from user;
| admin            | mysql_native_password |

mysql> flush privileges;
1130

在这里插入图片描述

修改用户加密方式时报错-1396

问题:

mysql> alter user 'admin1'@'%' identified with mysql_native_password by 'v%T';
ERROR 1396 (HY000): Operation ALTER USER failed for 'admin1'@'%'

原因: mysql8加密方式为caching_sha2_password,被我用update语句修改为mysql_native_password,加密方式等的修改还是用alter!

解决1:把加密方式改回来,再进行修改操作

mysql> update user set plugin='caching_sha2_password' where user='admin1' and host='%';
mysql> flush privileges;
mysql> mysql> alter user 'admin1'@'%' identified with mysql_native_password by 'v%T';

解决2:删除用户后,重新创建用户

mysql> alter user 'admin1'@'%' identified with mysql_native_password by 'v%T';
ERROR 1396 (HY000): Operation ALTER USER failed for 'admin1'@'%'
// 删除用户
mysql> drop user 'admin1'@'%';
mysql> flush privileges;
// 重新创建用户
mysql> create user 'admin1'@'%' identified with mysql_native_password by '4rfv%TGB';
mysql> grant all privileges on *.* to 'admin1'@'%' with grant option;

1045 - Access denied for user…

在这里插入图片描述
解决:原因挺多,可能是权限问题,我这边是密码错误的原因

总结

  • mysql8创建用户时,需要指定加密方式;
create user 'opt2'@'%' identified with mysql_native_password by '4rwe%SFC';
grant all privileges on *.* to 'opt2'@'%' with grant option;
  • 修改操作用alter,直接update可能无法更新数据;
  • 删除用户:drop user ‘admin1’@’%’;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值