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

实战超详细MySQL8离线安装

在RedHat中,RPM Bundle 方式安装MySQL8。建议一定要用 RPM Bndle 版本安装,包全。

官网下载:https://dev.mysql.com/downloads/mysql/

1.卸载mariadb,会与MySQL安装冲突。

rpm -qa | grep mariadb 查看有无mariadb

如果有,则删除 yum -y remove mariadb-libs.x86_64

2.查看是否有 numactl

rpm -qa | grep numa

如果没有 numactl 库,或者不是64位的版本,则需要安装,网上教程挺多,需要的自行查找。

3.解压tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

安装6个必须安装的包,需要按顺序安装。

rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm

4.启动 mysql

启动服务:service mysqld start

查看状态:service mysqld status

5.登陆MySQL8

查看临时密码 grep 'password' /var/log/mysqld.log

2023-02-11T10:58:32.259446Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: >5wo7dI(atEg

使用临时密码登录:

mysql -u root -p回车后输入临时密码

6.修改新密码

alter USER 'root'@'localhost' IDENTIFIED BY 'root用户的密码';

7.设置MySQL的root用户远程登录

use mysql;

select host, user from user;

如果host为localhost则执行update user set host = "%" where user='root';

刷新生效flush privileges;

解决部分客户端无法连接的问题,比如dbvisualizer报

Unable to load authentication plugin 'caching_sha2_password

alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root用户的密码';

刷新生效flush privileges;

8.更改时区,一般不用修改,以防万一

查看当前时间。

select now() from dual;

如果发现和当前系统时间不一致,则需要根据实际情况来修改。

set persist time_zone='-5:00';

flush privileges;

查看修改后的时区和当前时间

show variables like '%time_zone%';

select now() from dual;

9.考虑到以后可能有空间大小限制,变更一下数据目录

当前目录:/var/lib/mysql

目标目录:/opt/mysql

#先做个备份,有备无患

cd /var/lib

mkdir mysqlbak

cp -a -R /var/lib/mysql/* /var/lib/mysqlbak

#转移mysql目录到/opt

mv /var/lib/mysql /opt/

chown -R mysql:mysql /opt/mysql

#修改my.cnf

vim /etc/my.cnf

此时,启动mysql服务正常,但是 mysql -u root -p 登录会报错:

Can 't connect to local MySQL server through socket '/var/lib/mysql.sock '(2)

分析了一下,提示说无法通过socket文件/var/lib/mysql/mysql.sock连接到mysql服务器,
也就是对于mysql程序来说,尽管我把socket文件从/var/lib/mysql/mysql.sock转移到了
/opt/mysql/mysql.sock,在my.cnf里指定了socket文件位置,
但是对于mysql还是会从默认的安装目录/var/lib/mysql/里找这个mysql.sock文件,
找不着,就不知道从哪里启动了。所以,做一个软连接,让mysql能访问到移动后的 mysql.sock。

#在 /var/lib 目录,创建一个空的mysql

mkdir mysql

chown mysql:mysql mysql

#做一个软连接

ln –s /opt/mysql/mysql.sock /var/lib/mysql/

ll /var/lib/mysql

这一步很关键,网上很多做这个软连接的做法,但是都是错误的,在这一步试了好长时间才找对办法。

做完软连接后,启动 mysql 服务,能正常登录了。

10.开放防火墙端口,否则不能远程访问

#防火墙命令

启动防火墙:systemctl start firewalld

关闭防火墙:systemctl stop firewalld

重启防火墙:systemctl restart firewalld

查看防火墙:systemctl status firewalld

查看已开启的端口:firewall-cmd --list-ports

#添加端口3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

systemctl restart firewalld

firewall-cmd --reload

firewall-cmd --list-port

#关闭指定端口

firewall-cmd --zone=public --remove-port=3306/tcp --permanent

systemctl restart firewalld

firewall-cmd --reload

firewall-cmd --list-port

#查看端口被哪一个进程占用

netstat -lnpt |grep 3306

http://www.lryc.cn/news/3469.html

相关文章:

  • 依赖倒置原则|SOLID as a rock
  • Webpack的知识要点
  • handler解析(2) -Handler源码解析
  • 【算法】kmp
  • git 常用命令之 git checkout
  • 一些常见错误
  • [单片机框架][调试功能] 回溯案发现场
  • MySQL主从同步-(二)搭建从机服务器
  • Linux系列 备份与分享文档
  • SNI生效条件 - 补充nginx-host绕过实例复现中SNI绕过的先决条件
  • 傻白探索Chiplet,Modular Routing Design for Chiplet-based Systems(十一)
  • C语言静态库、动态库的封装和注意事项
  • MyBatis-Plus分页插件和MyBatisX插件
  • 年前无情被裁,面试大厂的这几个月…
  • 基于Java的分片上传功能
  • KDS安装步骤
  • JavaSE-线程池(1)- 线程池概念
  • 开源代码的寿命为何只有1年?
  • 完善登录功能--过滤器的使用
  • CSS基础:属性和关系选择器
  • 设计模式:原型模式解决对象创建成本大问题
  • 驱动开发(二)
  • 《狂飙》大结局,这22句经典台词值得细品
  • 【计算机网络期末复习】第二章 物理层
  • 多核异构核间通信-mailbox/RPMsg 介绍及实验
  • 【Rust日报】2023-02-11 从头开始构建云数据库 RisingWave - 为什么我们从 C++ 转向 Rust...
  • Linux驱动开发(一)
  • Spring MVC 之返回数据(静态页面、非静态页面、JSON对象、请求转发与请求重定向)
  • leetcode-每日一题-2335(简单,贪心)
  • Verilog语法之数学函数