首页 > 数据库 >linux直接下载安装mysql8

linux直接下载安装mysql8

时间:2024-10-29 11:02:21浏览次数:5  
标签:bin 8.0 mysql8 mysql linux -- mysqld 下载安装 MySQL

linux直接下载安装mysql8

下载并解压

下载地址:https://dev.mysql.com/get/Downloads/

mkdir /opt/mysql8
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz
tar -xJvf mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz
mv mysql-8.0.40-linux-glibc2.28-x86_64 mysql-8.0.40

安装和初始化

创建MySQL用户和用户组(如果需要)

出于安全考虑,建议为MySQL创建一个专门的用户和用户组。可以使用groupadd和useradd命令来创建它们:

sudo groupadd mysql  
sudo useradd -r -g mysql -s /bin/false mysql

设置目录权限

将MySQL目录及其子目录的所有者更改为新创建的mysql用户和用户组:

sudo chown -R mysql:mysql .

注意这里的.表示当前目录,即MySQL目录。

初始化数据库

使用mysqld命令来初始化MySQL数据库。在MySQL目录中,您应该能找到bin子目录,其中包含了mysqld可执行文件:

sudo ./bin/mysqld --initialize --user=mysql --basedir=$(pwd) --datadir=$(pwd)/data

$(pwd)命令将返回当前工作目录的路径,这里用作--basedir和--datadir的参数。
注意最后一行会产生root账号的临时密码

启动MySQL服务

您可以直接在当前目录中启动MySQL服务,但通常更好的做法是将MySQL配置为系统服务。不过,为了简单起见,这里展示如何在当前目录中启动MySQL:

sudo ./bin/mysqld_safe --user=mysql &

配置MySQL(可选)

在启动MySQL服务后,您可能需要配置一些基本的MySQL设置。这可以通过编辑MySQL的配置文件(在当前目录的my.cnf或../my.cnf中,如果不存在则需要创建)或使用mysql_secure_installation脚本来完成。

./bin/mysql_secure_installation

如果紧接着使用此脚本会要求输入上面的临时密码并修改密码,然后做一些初始化操作

设置环境变量

# 将MySQL的bin目录添加到PATH环境变量中
export MYSQL_HOME=/opt/mysql8/mysql-8.0.40
export PATH=$MYSQL_HOME/bin:$PATH

# 将环境变量设置添加到~/.bashrc文件中
echo "export MYSQL_HOME=/opt/mysql8/mysql-8.0.40" >> ~/.bashrc
echo "export PATH=\$MYSQL_HOME/bin:\$PATH" >> ~/.bashrc

# 刷新~/.bashrc文件以应用更改
source ~/.bashrc

# 可选:检查环境变量是否设置正确
echo "MYSQL_HOME: $MYSQL_HOME"
echo "PATH: $PATH"

连接到MySQL

使用mysql客户端工具连接到MySQL服务器。确保您在MySQL的bin目录中,或者将bin目录添加到您的PATH环境变量中:

mysql -u root -p

系统会提示您输入密码。输入后,您将进入MySQL命令行界面。

设置开机启动

创建MySQL的systemd服务文件

首先,你需要创建一个systemd服务单元文件,用于管理MySQL服务。使用文本编辑器(如vim、nano等)创建一个新的文件,例如/etc/systemd/system/mysql.service
在文件中添加以下内容,确保路径与你的MySQL安装路径一致:

[Unit]  
Description=MySQL Server  
After=network.target  
 
[Service]  
User=mysql  
Group=mysql  
ExecStart=/opt/mysql8/mysql-8.0.40/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid  
ExecStop=/opt/mysql8/mysql-8.0.40/bin/mysqladmin shutdown  
Restart=on-failure  
 
[Install]  
WantedBy=multi-user.target

请注意,这里的User和Group应设置为运行MySQL服务的用户和组。如果你还没有创建mysql用户和组,可以使用groupadd mysql和useradd -r -g mysql mysql命令来创建。
ExecStart路径应指向你的MySQL安装目录中的mysqld可执行文件。
ExecStop路径应指向你的MySQL安装目录中的mysqladmin可执行文件,用于停止MySQL服务。
pid-file路径可以设置为MySQL进程ID文件的路径,这里假设为/var/run/mysqld/mysqld.pid,你需要确保该目录存在并具有适当的权限。

创建pid目录并授权

mkdir /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld

重新加载systemd配置

在创建或修改systemd服务文件后,需要重新加载systemd配置以使更改生效:
``bash
sudo systemctl daemon-reload

### 启用MySQL服务
使用以下命令启用MySQL服务,使其在系统启动时自动运行:
```bash
sudo systemctl enable mysql.service

启动MySQL服务

你可以手动启动MySQL服务以验证配置是否正确:

sudo systemctl start mysql.service

验证MySQL服务状态:

使用以下命令检查MySQL服务是否已启动并正在运行:

sudo systemctl status mysql.service

创建数据库

进入数据库

mysql -uroot -p

标签:bin,8.0,mysql8,mysql,linux,--,mysqld,下载安装,MySQL
From: https://www.cnblogs.com/muphy/p/18512498

相关文章

  • centos9(linux): 在prometheus服务端添加被监控节点
    一,从服务端所在机器测试被监控节点是否9100端口打开1,用telnet$telnet172.16.13.191002,用nc$nc-nvv172.16.13.19100 二,在服务端prometheus中添加一个监控节点编辑配置文件:viprometheus.yml内容:在static_configs: 下增加一行:-targets:["172.16.13.......
  • linux无法用中文怎么解决
    linux无法用中文的解决方法:1.配置语言环境;2.安装中文字体;3.设置输入法;4.处理文件编码问题;5.测试和调试。Linux是一个强大的操作系统,但有时用户可能会在使用中文时遇到一些问题,首先,您需要确保Linux系统的语言环境正确配置为中文。1.配置语言环境首先,您需要确保Linux系统的语言......
  • Linux:vmstat指令
    学习自:Vmstat命令详解-CSDN博客Linux内存之vmstat-CSDN博客1、Linux分页管理概述vmstat(VirtualMemoryStatistics,虚拟内存),用于对OS的虚拟内存、进程、CPU活动进行监控。它是对系统整体情况的分析,无法对某个进程进行深入分析。1)虚拟内存Linux系统内存分为物理内存、虚拟......
  • 黑客常用Linux漏洞扫描工具(含安装步骤)
    第一款:Trivy概述Trivy是一个开源漏洞扫描程序,能够检测开源软件中的CVE。这款工具针对风险提供了及时的解释,开发人员可自行决定是否在容器或应用程序中使用该组件。常规的容器安全协议使用的是静态镜像扫描来发现漏洞,Trivy则是将漏洞扫描工具无缝合并到集成开发环境当中......
  • 禁用Linux的地址空间随机化
    问题描述当我们学习OS的时候,往往需要接触到虚拟地址分配的相关知识。当接触到《OperatingSystems:ThreeEasyPieces》(OperatingSystems:ThreeEasyPieces)中的示例程序mem.c时(文末附上common.h)#include<unistd.h>#include<stdio.h>#include<stdlib.h>#include"c......
  • Escalate_Linux靶机提权学习
    靶机下载https://www.vulnhub.com/entry/escalate_linux-1,323/用VMware打开扫描端口nmap-sS-sV-n-T4-p-192.168.93.134StartingNmap7.94SVN(https://nmap.org)at2024-10-0409:26CSTNmapscanreportfor192.168.93.134Hostisup(0.00090slatency).Not......
  • 【Linux学习】(8)第一个Linux编程进度条程序|git三板斧
    前言第一个Linux编程——进度条git的简单使用一、第一个Linux编程——进度条在写进度条之前我们需要两个基础知识:回车换行缓冲区1.回车换行首先我们需要知道回车换行它是两个概念,回车是回车,换行是换行换行:光标从上往下,直接到下一行(例如光标现在在当前行的第5个......
  • 【Linux探索学习】第五弹——Linux用户管理:创建、删除与查看普通用户
    前言:Linux下创建普通用户是我们以后经常要做的一件事,一个超级用户下可以有多个普通用户,这样我们就可以用这些普通用户去做不同的事情,所以学习如何创建并管理这些用户就显得尤为重要提醒:本篇是在Ubuntu系统下进行的操作目录一、创建普通用户二、测试是否创建成功方法一:方法二:三、查......
  • Linux网络连接三种模式的区别(图解超详细)
    (CentOS安装难点——网络连接方式的理解)参考视频链接为什么选择NAT模式?如上图情景设定:图中三个人在同一个教室网络,可以相互通讯,因为他们三人在同一网段(三者都以192.168.0打头)。1.桥接模式虚拟系统可以和外部系统相互通讯,但是容易造成ip冲突(张三ip:192.168.0.20,他......
  • Linux基础命令:轻松掌握终端操作
    引言在现代IT行业中,Linux因其稳定性和灵活性广受欢迎。作为后端开发、系统管理和数据科学等领域的必备技能,熟练掌握Linux基本命令将使你在职场中更加游刃有余。无论你是刚接触Linux的新手,还是希望提升技能的开发者,了解Linux命令行的基本用法都是至关重要的。今天,我们将探讨一......