一路解决bug——MySQL5.7永久统一编码/字符集为utf8时所出现问题

问题:

  • 修改Mysql配置文件后,不但没有解决问题i,反而Mysql也登陆不了,也有可能配置文件出错。
  • Mysql登录不上,Hive也登陆不上

解决

启动mysql 报错:

Bug1——MYSQL之ERROR 2002 (HY000): Can’t connect to local MySQL server through socket '/tmp/mysql.sock’

原因:由于我改了mysql配置“/etc/my.cnf”引起的。
解决:
1、rm -rf /var/lib/mysql/
2、启动MySQL

systemctl status mysqld

在这里插入图片描述
3、修改配置文件

vim /etc/my.cnf

添加以下内容
[mysqld]下

#设置免密登录
skip-grant-tables=1
# 设置永久编码为utf8
default-storage-engine=INNODB
character_set_server=utf8
collation-server=utf8_general_ci 
# 设置永久编码为utf8
[client] 
default-character-set=utf8

在这里插入图片描述
4、重新加载mysql服务

systemctl restart mysqld

5、免密登录mysql

mysql -uroot

在这里插入图片描述

6、切到mysql下面

use mysql;

在这里插入图片描述
7、更改密码

将密码更改为123456

update user set authentication_string=password('123456'),password_last_changed=now() where user='root';

在这里插入图片描述
8、退出mysql
快捷键ctrl+D

9、更改配置文件

删除一行,把免密去掉

在这里插入图片描述
10、重新加载mysql服务

systemctl restart mysqld

11、密码登录

 mysql -uroot -p

在这里插入图片描述
12、切到mysql下面,出问题了

在这里插入图片描述
Bug2:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

尝试解决:

 ALTER USER USER() IDENTIFIED BY '123456';

在这里插入图片描述

Bug3:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决:

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

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

mysql> ALTER USER USER() IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

成功
在这里插入图片描述

13、开启远程访问权限的设置

  • 查询用户列表
select user,host from user;

在这里插入图片描述

  • 授权root用户远程登录权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'  ;
  • 刷新权限
flush privileges; 

在这里插入图片描述
开启远程访问,是为了启动Hive

验证

1、启动Hive,下图说明启动成功
在这里插入图片描述
2、查看MySQL数据库的编码

show variables like '%char%';

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值