问题:
- 修改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%';