mysql笔记

mysql使用笔记

版本驱动不匹配

报错:Unknown system variable ‘query_cache_size’
原因:链接驱动版本不匹配,query cache在MySQL5.7.20就已经过时了,而在MySQL8.0之后就已经被移除了
解决:版本提升到8.0以后

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version>//修改版本号
</dependency>

驱动名修改:com.mysql.jdbc.Driver–>com.mysql.cj.jdbc.Driver

navicat连接数据库报错

MySQL 连接出现 Authentication plugin ‘caching_sha2_password’ cannot be loaded

出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.

  1. 管理员权限运行命令提示符,登陆MySQL(记得添加环境变量)

    mysql -u root -p

    password: #登入mysql

  2. 修改账户密码加密规则并更新用户密码

    ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password自己密码’ PASSWORD EXPIRE NEVER; #修改加密规则

    ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password自己密码’; #更新一下用户的密码

  3. 刷新权限并重置密码

    FLUSH PRIVILEGES; #刷新权限

现在再次打开Navicat Premium 12连接MySQL问题数据库就会发现可以连接成功了

单独重置密码命令:alter user ‘root’@‘localhost’ identified by ‘111111’;

忘记密码

mysql忘记密码
停止服务

无密码重启

mysqld --console --skip-grant-tables --shared-memory

另起一个dos窗口,无密码登录

mysql -uroot -p
password:        //直接回车

清空密码

update mysql.user set authentication_string='' where user='root' and host='localhost';

退出,重启,重新登录

exit;

正常重启服务
mysqld

上面已经清空密码,无密码登录

mysql -uroot -p
password:        //直接回车

修改密码为 root123

alter user root@localhost identified by 'root123';

退出,重新登录

exit;

重新登录

mysql -uroot -p
password: root123

登录成功

新增用户授权报错

Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

原因:8版本新增了一个system_user帐户类型,root没有system_user权限
解决:

grant system_user on *.* to 'root';

flush privileges;

root用户远程登录授权

设置MySQL的root用户允许远程登录
1.在云主机上连接mysql

mysql -uroot -p         #根据提示输入密码

2.依次执行以下sql命令

use mysql               #打开 mysql 数据库

将host设置为%表示任何ip都能连接mysql,当然也可指定为某个特定ip

update user set host='%' where user='root' and host='localhost';
flush privileges;        #刷新权限表,使配置生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值