代码编织梦想

Linux 下安装最新版MySQL 8.4不分发行版 Linux系统通用

    Linux下安装mysql8的方式很多通过系统带的包管理器apt|yum|dpkg 等工具安装简单快捷,但是每种方式多多少少有些区别懒得记,为什么就不统一呢? 而且安装文件分布位置不是很清楚,管理服务命令还不一样 。想到这里我就要吐🤢🤢🤢🤢🤢🤢。
    纯纯浪费我时间、脑容量。真的很无语! 还好MySQL官方提供了二进制安装包可以在Linux系统下通用。无论是基于Debian的Ubuntu系列还是Redhat系列的CentOS是可以,终于可以只用专注一种安装方式了。
    下面就使用MySQL 二进制安装包方式安装,我的软件目录、数据目录、配置文件目录、日志目录、PID文件目录 ,自己安装的都清楚知道。有一种更能掌握掌控的感觉,更放心!
     亲测 CentOS 8、Ubuntu 20.04、Ubuntu 18.04 OK !

准备工作

切换到root账户

ubuntu系统 执行 sudo -i 切换到root 方便操作

查看系统是否支持glibc2.28

因为安装的版本比较新需要新版glic2.28

redhat、centos系列使用以下命令

strings /lib64/libc.so.6 | grep GLIBC_2.28

有输出版本号证明支持
在这里插入图片描述

debian、ubuntu系列使用以下命令

strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_2.28

若是不支持需要添加 GLIBC_2.28 查看这篇教程安装
在这里插入图片描述

移除旧版本

如果你安装过mysql 为了防止出现奇奇怪怪问题,我们把旧版本卸载删除相关包和残留文件

redhat、centos系列使用yum命令

	# yum 查询已安装的 MySQL 相关包
	rpm -qa | grep -i mysql
	# 卸载 MySQL 相关包
	yum remove mysql-*
	# 卸载完再查询还有无相关包
	rpm -qa | grep -i mysql

debian、ubuntu系列使用apt命令

	# 卸载mysql相关
    apt-get remove --purge mysql-*
    # 清除残留
    apt-get autoremove
    apt-get autoclean

删除相关配置文件和安装目录

   rm -rf /etc/my.cnf
   rm -rf /var/lib/mysql
   rm -rf /etc/mysql

安装mysql依赖

安装mysql所需要的依赖

redhat、centos系列使用yum命令

yum install -y libaio
yum install -y ncurses-compat-libs

debian、ubuntu系列使用apt命令

apt-get install libaio1

下载MySQL

官网下载页面 获取下载链接

注意查看系统架构,地球人都知道查看系统架构命令 uname -m。如果你是arm架构选择arm版本的二进制包
在这里插入图片描述

wget命令下载安装包

# -P 指定下载目录
wget -P /soft https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

.

开始安装mysql

创建运行mysql的用户和用户组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
解压安装包

解压到 /usr/local/

tar xvf /soft/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local/

如果你的tar 命令不支持解压.xz格式 使用下面命令解压

xz -dcv /soft/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz | tar x -C /usr/local/

解压后目录名太长改成 mysql

mv /usr/local/mysql-8.4.0-linux-glibc2.28-x86_64 /usr/local/mysql
修改权限创建目录

依次执行下面命令

# 创建数据目录,根据自己需求调整
mkdir -p /disk/mysqldata

cd /usr/local/mysql
mkdir mysql-files
mkdir log
touch log/error.log
chmod 750 mysql-files
chown mysql:mysql -R /usr/local/mysql/
chown mysql:mysql /disk/mysqldata
初始化mysql
#--basedir 安装目录  --datadir数据存储目录 可以按需调整
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/disk/mysqldata

查看初始化日志 root账户的初始化密码输出在日志中

#初始化日志输出到 /usr/local/mysql/log/error.log 文件中

#查看该文件
cat /usr/local/mysql/log/error.log

在这里插入图片描述

设置配置文件

配置文件位于 /etc/my.cnf
创建配置文件
vim /etc/my.cnf

文件中写入以下内容(配置文件根据自己需要调整)

[client]
# 指定了客户端与服务器通信的套接字文件路径
socket = /tmp/mysql.sock

[mysqld_safe]
# 错误日志的存放位置。
log_error = /disk/mysqldata/error.log
# 存放服务器进程 ID 的文件
pid_file = /disk/mysqldata/mysqld.pid

[mysql]
socket = /tmp/mysql.sock

[mysqld]
# mysql 的运行用户 这里的用户一定要和初始化时的用户一致
user = mysql
# 指定 MySQL 服务监听的端口为 3306
port = 3306
# 指定 MySQL 的安装目录
basedir = /usr/local/mysql
# 指定数据文件的存储位置。
datadir = /disk/mysqldata
socket  = /tmp/mysql.sock
# 日志目录
log_error = /usr/local/mysql/log/error.log
# 设置SQL 模式
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

启动mysql

初始化后已经自动注册了系统服务 使用 systemctl 命令管理

启动

systemctl start mysqld

如果启动报错使用 journalctl -u mysqld.service 命令查看日志

查看状态

systemctl status mysqld

active (running) 表示运行中
在这里插入图片描述

停止

systemctl stop mysqld

重启

systemctl restart mysqld

设置mysql开机自启

systemctl enable mysqld

若是不能执行 systemctl mysqld 相关命令,有的系统上mysql初始化完会自动创建单元服务配置文件,有的没有。 没有关系小问题。 没有自动创建我们就手动创建

创建单元服务配置文件

sudo sudo vi /lib/systemd/system/mysql.service

填入以下内容

[Unit]
Description=MySQL Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
User=mysql
Group=mysql
TimeoutSec=300
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后重新加载单元配置

sudo systemctl daemon-reload

现在就可以执行 systemctl start mysqld 相关命令了

修改默认密码

登录mysql

# 回车后输入刚刚日志中的默认密码
/usr/local/mysql/bin/mysql -h 127.0.0.1 -p

若是报错 /usr/local/mysql/bin/mysql: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory
需要安装 libncurses6

修改密码

# 执行SQL 修改密码 BY 'root'; 这里就是设置的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

设置root可远程连接,这样我们就可以使用navicat连接数据库了

use mysql;
select host, user from user;
update user set host = '%' where user='root';
flush privileges;

Navicat 连接成功! 若以上都没有问题还是连接不上请检查防火墙、安全组
在这里插入图片描述

完!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42703501/article/details/139533319

linux-安装mysql(详细教程)_小前端而已的博客-爱代码爱编程

Linux-安装MySQL 前言一、概述二、下载三、安装四、卸载五、常用设置六、可能遇到的问题 前言 本文的主要内容是在 Linux 上安装 MySQL,以下内容是源于 B站 - MySQL数据库入门到精通 整理而

记一次mysql8 在linux上安装全过程-爱代码爱编程

参照MYSQL官网官方文档安装 1、mysql官网 mysql官网 2、直接进入文档页 找到安装文档 3、找到自己系统对应的安装文档,选合适的安装方式,我这里使用的是YUM方式 a、开始安装之前需要替换yum

linux下安装mysql8_linux下暗转8.4版mysql-爱代码爱编程

目录 1. 下载安装包2. 解压安装3. 配置数据库4. 启动数据库并修改密码5. 结语 1. 下载安装包 下载地址:https://dev.mysql.com/downloads/mysql

mysql8.4 安装配置与卸载_mysql8.4.0配置-爱代码爱编程

文章目录 准备工作使用 Yum 安装MySQL上传RPM包到服务器安装MySQL服务 MySQL的初始化设置设置ROOT用户密码 卸载 MySQL 服务 在 Linux CentOS9 操作

mysql 8 安装与配置(二次修订版)_linux mysql 8.2.0 安装教程-爱代码爱编程

说明:本篇文章节选自我的个人博客《MySQL 8 安装与配置(二次修订版)》的一部分。若您熟悉MySQL,也知道每条命令都在做什么,可参考下文快速安装,否则建议访问源博客阅读详细版教程。 Linux平台: # 下载 curl -O https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-8.2.0-linux-

linux yum 安装指定版本的mysql (mysql 8.4.0 lts 为例)_yum install mysql8.4-爱代码爱编程

1.进官网选择指定版本  mysql官网地址 2.选择需要安装的版本以及当前操作系统 在新的页面中选择对应的系统版本进行下载 3.将下载的文件  (mysql84-community-release-el7-1.noarch.rpm) 放到服务器中,当文件目录下执行如下命令.  主语文件名 mysql84-community-relea