当前位置: 首页 > news >正文

linux离线安装mysql数据库

前言:CDH安装使用mysql存储元数据,经常在操作过程出现权限问题,以下整理了一份安装教程。

目录

准备工作

1.下载软件包

2.检查服务器是否安装mysql

安装工作

1.创建数据目录

2.创建MySQL系统用户

2.1创建系统用户

2.2 赋予根目录mysql用户权限

3.创建数据目录并赋予用户组权限

4.修改配置文件 vi /etc/my.cnf

5.初始化数据库

6. 加入到系统服务并启动mysql

6.1 将mysql加到系统

6.2重新登录mysql

6.3重置密码

6.4 再次重启

6.5 允许所有host通过root用户访问服务器

7.以下是CDH连接数据库脚本


准备工作

1.下载软件包

在官网:MySQL :: Download MySQL Community Server 中,下载5.7.17-linux版本:

2.检查服务器是否安装mysql

rpm -qa | grep mysql

没安装进行下一步;如安装按以下方式卸载。

第一步:停止mysql服务

# 使用systemctl
sudo systemctl stop mysqld
# 或者使用service(对于旧系统)
sudo service mysqld stop

第二步:卸载mysql相关服务

# 列出所有MySQL相关的包
rpm -qa | grep mysql
# 卸载特定的MySQL包依次卸载,例如:
sudo rpm -e mysql-server
第三步:清理相关文件

sudo rm -rf /etc/my.cnf /etc/my.cnf.d /var/lib/mysql /var/log/mysql /usr/share/mysql /usr/lib/mysql /usr/bin/mysql*

第四步:检查

# 检查MySQL服务状态(应该显示已停止)

sudo systemctl status mysqld

# 检查是否还有MySQL相关的包安装在你的系统上

rpm -qa | grep mysql

安装工作

1.创建数据目录

# 解压文件至/usr/local/目录
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
# 重命名为 mysql
mv /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64/ /usr/local/mysql

2.创建MySQL系统用户

2.1创建系统用户

groupadd mysql #创建用户组

useradd -r -g mysql mysql #创建系统用户

2.2 赋予根目录mysql用户权限

chown -R mysql /usr/local/mysql/ # 将文件的所有属性改为 mysql 用户

chgrp -R mysql /usr/local/mysql/ # 将组属性改为 mysql 组

3.创建数据目录并赋予用户组权限

mkdir -p /data/mysql #数据目录

chown mysql:mysql -R /data/mysql

4.修改配置文件 vi /etc/my.cnf

[mysqld]

bind-address=0.0.0.0

port=3306

user=mysql

basedir=/usr/local/mysql

datadir=/data/mysql

socket=/tmp/mysql.sock

log-error=/data/mysql/mysql.err

pid-file=/data/mysql/mysql.pid

#character config

character_set_server=utf8mb4

symbolic-links=0

explicit_defaults_for_timestamp=true

5.初始化数据库

参数: --basedir 为mysql解压目录,–datadir 为mysql数据存放目录。(注意安装路径是否一致)

cd /usr/local/mysql/bin/

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

查看初始密码

cat /data/mysql/mysql.err

6. 加入到系统服务并启动mysql

6.1 将mysql加到系统

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

service mysql start

6.2重新登录mysql

/usr/local/mysql/bin/mysql -u root -p

输入初始密码提示登录成功

注:在初始化数据库时可能报缺少xx动态库的错误

如:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方法:

第1步:查看是否安装了libaio,无返回则说明未安装,执行步骤2

rpm -qa|grep libaio

第2步:切换到root用户,使用命令yum install -y libaio进行安装

yum install -y libaio

6.3重置密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;       #刷新

6.4 再次重启

退出 quit

重启服务 service mysql restart

再次登陆 /usr/local/mysql/bin/mysql -u root -p  /输入刚修改的密码123456敲回车键

6.5 允许所有host通过root用户访问服务器

登录mysql,设置root访问规则,'%'表示所有节点都可以访问;

use mysql      #选择访问mysql库

update user set host = '%' where user = 'root';      #使root能再任何host访问

FLUSH PRIVILEGES;       #刷新

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;       #刷新

7.以下是CDH连接数据库脚本

相关文章:

  • 【Java】规则引擎 Drools
  • 百度的冰桶算法
  • “新旗手”三星Galaxy S25系列,再次定义了AI手机的进化方向
  • C++,STL容器,unordered_map/unordered_multimap:无序映射/无序多重映射深入解析
  • 深入理解x86汇编:GNU格式的全面指南
  • 使用Opencv方法进行模板匹配
  • 鸿蒙next开发-struct如何封装共用模块
  • 小蓝相机HDR拍照流程分析
  • SSM-Spring篇1——SpringIoC
  • 总结:如何在SpringBoot中使用https协议以及自签证书?
  • DeepSeek模型架构及优化内容
  • C++ 标准库常见容器
  • Kotlin 2.1.0 入门教程(十六)属性、getter、setter、幕后字段、后备属性、编译时常量、延迟初始化
  • 【网络法医】恶意软件分析
  • 国内外网络安全政策动态(2025年1月)
  • mysql中general_log日志详解
  • mysql索引为什么用B+树,不用二叉树
  • Spring系统学习——持续更新
  • MySQL的备份与还原
  • 项目BUG
  • 企业产品网站模板/什么是关键词举例说明
  • 可以和朋友合资做网站吗/怎么做推广让别人主动加我
  • 金山做网站的公司/360社区app
  • 西宁网站建设制作公司/营销公司排名
  • 香港做网站公司/手机怎么制作网页
  • 九江做网站哪家好/百度客服电话人工服务热线