【大数据之Hive】三、Linux下安装MySQL8.0.33

news/2025/3/19 12:04:41/

1 安装MySQL

(1)解压MySQL安装包:

tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar -C /opt/module/mysql

(2)卸载系统自带的mariadb:

sudo rpm -qa | grep mariadb | xargs sudorpm -e --nodeps

(3)安装MySQL依赖(一定要按顺序装):

cd /opt/module/mysql
sudo rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-compat-8.0.33-1.el7.x86_64.rpm

(4)安装mysql-client:

sudo rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm

(5)安装mysql-server:

sudo rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm

在这里插入图片描述
在这里插入图片描述
解决方法:用yum直接下载

sudo yum -y install 缺的依赖包

(6)启动MySQL:

sudo systemctl start mysqld查看MySQL状态:
sudo systemctl status mysqld

在这里插入图片描述
(7)查看MySQL密码:

sudo cat /var/log/mysqld.log | grep password控制台输出的最后显示root@localhost:....部分为初始化密码

在这里插入图片描述

2 配置MySQL

配置需求:
  root用户 + 123456,实现在任何主机上都能登录MySQL数据库。
(1)用刚刚查到的密码进入MySQL(如果报错,给密码加单引号):

mysql -u root -p'初始密码'

报错显示权限不足,用户’root’@'localhost’不能登录到MySQL服务器:
在这里插入图片描述
解决在/etc/my.cnf文件中添加:

sudo vim /etc/my.cnf

在这里插入图片描述
然后重启MySQL服务:

sudo systemctl restart mysqld

再重新用root和初始密码登录,可以看到登录成功:
在这里插入图片描述
(2)更改MySQL密码策略(解决密码太简单时报错问题)此处用的是MySQL8.0.33,语法与MySQL5.7.28有区别:

mysql> set global validate_password.policy=low;
mysql> set global validate_password.length=4;

在这里插入图片描述
(3)设置简单好记的密码,注意MySQL8.0.33与MySQL5.7.28的语法区别:

mysql> alter user 'root'@'localhost' identified by '123456';

然后报错:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解决:

flush privileges;

然后重新修改密码:
在这里插入图片描述
(4)进入MySQL库(以下为配置root用户的访问权限):

mysql> use mysql

(5)查询user表:

mysql> select user, host from user;

在这里插入图片描述
(6)修改user表,把Host表内容修改为%(保证root用户在任意节点都可以访问数据库):

mysql> update user sethost="%" where user="root";

在这里插入图片描述
(7)刷新并退出:

mysql> flush privileges;
mysql> quit;

(8)修改成功之后回到/etc/my.cnf,把刚刚添加进去的skip-grant-tables注释掉,不然后面初始化元数据库会失败:

sudo vim /etc/my.cnf#skip-grant-tables

2 卸载MySQL

  因为某种原因安装 失败,MySQL需要卸载重装:

步骤:
(1)清空原有数据:
  通过/etc/my.cnf查看MySQL数据的存储位置:

sudo cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql

  /var/lib/mysql路径需要root权限:

切换到root
su ~ root   [root@hadoop102 ~]# cd /var/lib/mysql
[root@hadoop102 mysql]# rm -rf * 

(2)卸载MySQL相关包:
  查看安装过的MySQL相关包:

cd /opt/module
sudo rpm -qa | grep -i -E mysql

  一键卸载命令:

rpm -qa | grep -i -E mysql\ | mariadb | xargs -n1 sudorpm -e --nodeps

http://www.ppmy.cn/news/103647.html

相关文章

自学web前端能找到工作吗?是否有必要参加前端培训?

是的,自学前端可以帮助您找到工作,参加培训是根据个人学习能力和经济实力来自己决定的。前端开发是一个相对容易入门的领域,并且许多人通过自学成功地找到了前端开发的工作。以下是好程序员的一些建议,可以帮助您在自学前端时提高…

JVM学习(十二):执行引擎

目录 一、执行引擎概述 二、执行引擎的工作过程 三、Java代码编译和执行 3.1 过程概述 3.1 javac前端编译 3.2 Java字节码的执行 3.3 编译和解释概述 3.4 高级语言理解与执行过程(机器码、指令、汇编) 3.4.1 机器码 3.4.2 指令 3.4.3 指…

【C++】类与对象——六个默认成员函数、构造函数的概念和特征,析构函数的概念和特征

文章目录 1.类的六个默认成员函数2.构造函数2.1构造函数的概念2.2构造函数的特性 3.析构函数3.1析构函数的概念3.2析构函数的特征 1.类的六个默认成员函数 如果一个类中什么成员都没有,简称为空类。   空类中真的什么都没有吗? 并不是,任何…

json和pickle模块

目录 ❤ json和pickle模块 序列化 json pickle python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 ❤ json和pickle模块 序列化 把对象(变量)从内存中变成可存储或传输的过程称之为序列化&am…

Java并发体系-第二阶段-锁与同步-[3](仅做了解吧不好理解)

synchronized保证三大特性 synchronized保证原子性的原理 对num;增加同步代码块后,保证同一时间只有一个线程操作num;。就不会出现安全问题。 synchronized保证可见性的原理 synchronized保证可见性的原理,执行synchronized时,会对应lock…

热力学统计物理专题:德拜模型

简正振动的固体模型 由于固体晶格结点上相邻原子之间距离很小(约为 米量级),故原子间存在强烈的相互作用,而非相互独立。在温度不高时,原子只在其平衡位置附近作微振动,且具有不同的振动频率。设系统有…

算法27:从暴力递归到动态规划(2)

上一题比较简单,下面来一道比较难的题目。 假设有排成一行的N个位置,记为1~N,N 一定大于或等于 2 开始时机器人在其中的M位置上(M 一定是 1~N 中的一个) 如果机器人来到1位置,那么下一步只能往右来到2位置; 如果机…

linux环境下安装gitlab

前几天跟朋友聊天时说到gitlab版本控制。其实,之前也对它只是知道有这个东西,也会用。只是对于它的安装和配置,那我还是没整过。这两天,我找了一下网上的资料,还是写下吧。 一安装: 按网上所说,…