下载并安装MySQL

在Linux系统上下载并安装数据库(以MySQL为例)的步骤如下:

一、下载MySQL

  1. 访问MySQL官网

    打开浏览器,访问MySQL的官方网站:https://www.mysql.com/。

  2. 进入下载页面

    在MySQL官网首页,找到并点击“Downloads”链接,进入下载页面。

  3. 选择MySQL Community Server

    在下载页面,找到“MySQL Community (GPL) Downloads”部分,点击“MySQL Community Server”链接。

  4. 选择版本和操作系统

    在MySQL Community Server页面,选择所需的MySQL版本(通常选择最新版本或稳定版本),然后选择适合您Linux发行版的安装包。对于大多数Linux发行版,可以选择.tar.gz压缩包或RPM/DEB包。

  5. 下载安装包

    点击对应的下载按钮,下载MySQL安装包。如果下载页面有多个安装包选项,请根据您的需求选择合适的安装包。

二、安装MySQL

方法一:使用包管理器安装(以Ubuntu/Debian为例)
  1. 更新包列表

    打开终端,输入以下命令更新包列表:

    sudo apt update
    
  2. 安装MySQL

    输入以下命令安装MySQL:

    sudo apt install mysql-server
    
  3. 启动MySQL服务

    安装完成后,MySQL服务会自动启动。您可以使用以下命令检查MySQL服务状态:

    sudo systemctl status mysql
    
  4. 设置root密码

    安装完成后,您需要为MySQL的root用户设置密码。输入以下命令:

    sudo mysql_secure_installation
    

    按照提示设置root密码,并完成其他安全配置(如删除匿名用户、禁止远程root登录等)。

方法二:手动安装(以.tar.gz压缩包为例)
  1. 下载并解压安装包

    将下载的.tar.gz压缩包解压到指定目录。例如,将其解压到/usr/local/mysql目录下:

    sudo tar -zxvf mysql-x.y.z-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
    sudo mv /usr/local/mysql-x.y.z-linux-glibc2.12-x86_64 /usr/local/mysql
    

    其中,x.y.z是MySQL的版本号。

  2. 创建MySQL用户和组

    创建用于运行MySQL服务的用户和组:

    sudo groupadd mysql
    sudo useradd -r -g mysql -s /bin/false mysql
    
  3. 创建数据目录并设置权限

    创建MySQL的数据目录,并设置正确的权限:

    sudo mkdir -p /var/lib/mysql
    sudo chown -R mysql:mysql /var/lib/mysql
    
  4. 初始化数据库

    进入MySQL解压目录,并初始化数据库:

    cd /usr/local/mysql
    sudo bin/mysqld --initialize --user=mysql
    

    注意:初始化过程中会生成一个临时密码,请记录下来。

  5. 启动MySQL服务

    您可以将MySQL服务添加到系统服务中,以便方便地启动和停止服务。例如,使用systemd创建一个服务文件:

    sudo nano /etc/systemd/system/mysql.service
    

    在文件中添加以下内容(根据您的MySQL安装路径和配置进行调整):

    [Unit]
    Description=MySQL Server
    After=network.target
    After=syslog.target[Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/support-files/mysql.server start
    ExecStop=/usr/local/mysql/support-files/mysql.server stop
    Restart=always[Install]
    WantedBy=multi-user.target
    

    保存并关闭文件,然后重新加载systemd配置并启动MySQL服务:

    sudo systemctl daemon-reload
    sudo systemctl start mysql
    sudo systemctl enable mysql
    
  6. 设置root密码并配置MySQL

    使用初始化时生成的临时密码登录MySQL,并设置新的root密码:

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

    在MySQL Shell中,使用以下命令设置新密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    FLUSH PRIVILEGES;
    

    其中,new_password是您想要设置的新密码。

  7. 完成其他配置

    根据您的需求,完成其他MySQL配置,如配置字符集、调整性能参数等。

三、验证安装

安装完成后,您可以使用以下命令登录MySQL服务器,验证安装是否成功:

mysql -u root -p

输入之前设置的root密码,登录成功后即可进入MySQL Shell。在MySQL Shell中,您可以使用SHOW DATABASES;等命令查看数据库列表,验证MySQL是否正常运行。

请注意,以上步骤可能因Linux发行版和MySQL版本的不同而有所差异。在安装过程中,请务必参考MySQL官方文档和您的Linux发行版的文档,以确保正确安装和配置MySQL。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/67816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++开源协程库libgo介绍及使用,srs协程,boost协程 Boost::fiber

https://www.cnblogs.com/qwsdcv/p/9115364.html Boost - 从Coroutine2 到Fiber - 开学五年级了 - 博客园 协程就是由程序员控制跑在线程里的“微线程”。它可以由程序员调度,切换协程时代价小(切换根据实现不同,消耗的CPU周期从几十到几百不等)&#x…

用c实现C++类(八股)

在 C 语言中,虽然没有内建的面向对象编程(OOP)特性(如封装、继承、多态),但通过一些编程技巧,我们仍然可以模拟实现这些概念。下面将用通俗易懂的方式,逐步介绍如何在 C 中实现封装、…

RabbitMQ 交换机、队列和路由键的命名规范

在 RabbitMQ 中,使用 Topic Exchange 模式时,交换机、队列和路由键的命名规范是非常重要的,尤其是在多环境和多微服务的场景中。合理的命名规范可以提高消息系统的可维护性、可扩展性以及可读性。以下是一些关于 Topic Exchange 模式中交换机…

记录一个移动端表格布局,就是一行标题,下面一列是对应的数据,一条一条的数据,还有点击数据进入详情的图标,还可以给一列加input输入框,还可以一对多

注&#xff1a;以下字段名都是随手写&#xff0c;并不规范&#xff0c;自己替换自己的&#xff0c;&#xff0c;只参考样式 注&#xff1a;以下重要的是布局&#xff0c;样式&#xff0c;宽高什么的再自己去搞吧 <view class"search"> <u-…

浅析大语言模型安全和隐私保护国内外标准和政策

过去两年&#xff0c;大模型技术已经普及并逐步渗透到各行各业&#xff0c;2025年注定是大模型应用井喷式发展的一年&#xff0c;AI在快速发展的同时&#xff0c;其带来的安全风险也逐渐凸显。人工智能系统的安全性和隐私保护已经成为社会关注的重点。 附下载&#xff1a;600多…

ELK日志分析实战宝典之ElasticSearch从入门到服务器部署与应用

目录 ELK工作原理展示图 一、ElasticSearch介绍&#xff08;数据搜索和分析&#xff09; 1.1、特点 1.2、数据组织方式 1.3、特点和优势 1.3.1、分布式架构 1.3.2、强大的搜索功能 1.3.3、数据处理与分析 1.3.4、多数据类型支持 1.3.5、易用性与生态系统 1.3.6、高性…

【老白学 Java】项目演练 - Quizzes #2

项目演练 - Quizzes #2 文章来源&#xff1a;《Head First Java》修炼感悟。 上一篇文章老白仔细分析了 Quizzes 的类结构&#xff0c;本文接上一章继续对功能模块逐步完善。 整个程序没有复杂的算法&#xff0c;仅仅用到了一些基础知识&#xff0c;如果大家已经了解了这部分内…

k8s的原理和,k8s的安装

k8s:管理容器集群k8s的组成和调用原理cluster集群:控制平面和node共同构成一个cluster服务调用流程ingress控制器&#xff1a;让外部用户访问集群内部的服务kubeprox转发pod的容器中Control plan控制平面组件&#xff1a;控制和管理多个node1.api server:支持使用提供的api创建…

Python常用函数总结——超全面超详细_python函数大全及详解

Python作为一种高级编程语言&#xff0c;拥有丰富的内置函数库&#xff0c;这些函数大大简化了编程任务。以下是Python常用函数的总结及详解&#xff08;部分函数有所重复或归类&#xff0c;以展示其多样性和应用场景&#xff09;&#xff1a; 一、基础与数据类型相关 print(…

计算机网络 (33)传输控制协议TCP概述

一、定义与基本概念 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它工作在OSI模型的第四层&#xff0c;即传输层&#xff0c;为用户提供可靠的、有序的和无差错的数据传输服务。TCP协议与UDP协议是传输层的两大主要协议&#xff0c;但两者在设计上有明显的不同&…

JuiceFS 2024:开源与商业并进,迈向 AI 原生时代

即将过去的 2024 年&#xff0c;是 JuiceFS 开源版本推出的第 4 年&#xff0c;企业版的第 8 个年头。回顾过去这一年&#xff0c;JuiceFS 社区版依旧保持着快速成长的势头&#xff0c;GitHub 星标突破 11.1K&#xff0c;各项使用指标增长均超过 100%&#xff0c;其中文件系统总…

4、SDH为基础的多业务传送-MSTP

1、SDH&#xff08;Synchronous Digital Hierarchy&#xff0c;同步数字体系&#xff09; SDH 就像是一条超级高速公路&#xff0c;它的规则很严格&#xff0c;所有的车辆&#xff08;数据信号&#xff09;都要按照它规定的速度和车道&#xff08;标准的传输体制&#xff09;行…

初级前端面试题 - js

前言&#xff1a;众所周知&#xff0c;HTML,CSS,JS是学习前端所必备的。js的基础学好了&#xff0c;框架类的vue,react等都会接受的很快&#xff0c;因此js是前端很总要的一个部分&#xff0c;这篇文章将会结合面试题&#xff0c;对js的知识点进行总结 号外号外&#xff0c;这是…

linux的shell中自定义的分隔符怎么用

在 Shell 脚本中&#xff0c;自定义分隔符可以通过多种方式使用&#xff0c;特别是在处理文件或字符串时。常见的场景包括读取以特定字符分隔的文件、设置 IFS&#xff08;内部字段分隔符&#xff09;来分割字符串等。以下是几种常见方法及其示例&#xff1a; ### 1. 使用 IFS…

C#里使用libxl里演示输出日期和读取日期数据的例子

日期在EXCEL里也是一种复杂的数据处理, 为什么这样说呢? 因为日期显示,在世界各国里互不相同。 在许多西方国家,日期的表示顺序遵循“日-月-年”的规则,即“Day-Month-Year”,例如:12th January 2023。这种顺序在英语国家中普遍存在,如美国、英国、澳大利亚和加拿大…

使用 Maxwell 计算母线的电动势

三相短路事件的动力学 三相短路事件在电气系统中至关重要&#xff0c;因为三相之间的意外连接会导致电流大幅激增。如果管理不当&#xff0c;这些事件可能会造成损坏&#xff0c;因为它们会对电气元件&#xff08;尤其是母线&#xff09;产生极大的力和热效应。 短路时&#x…

cuda实现flash_attn_mma_share_kv源码分析

一 源码分析 1.1 函数入口 void flash_attn_mma_stages_split_q_shared_kv(torch::Tensor Q, torch::Tensor K, torch::Tensor V, torch::Tensor O, int stages) {CHECK_TORCH_TENSOR_DTYPE(Q, torch::kHalf) // Q [B,H,N,D]CHECK_TORCH_TENSOR_DTYPE(K, torch::kHalf) // K …

npm发布流程说明

一、进入要发布的项目根目录&#xff0c;初始化为npm包 npm initname&#xff1a;最重要的字段之一&#xff0c;项目名称&#xff08;少于214个字节&#xff09;。没有name和version不能进行安装&#xff1b; version&#xff1a;最重要的字段之一&#xff0c;项目版本。没有n…

Unity自定义编辑器:基于枚举类型动态显示属性

1.参考链接 2.应用 target并设置多选编辑 添加[CanEditMultipleObjects] using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;[CustomEditor(typeof(LightsState))] [CanEditMultipleObjects] public class TestInspector :…

利用 Python 脚本批量创建空白 Markdown 笔记

文章目录 利用 Python 脚本批量创建空白 Markdown 笔记1 背景介绍2 需求描述3 明确思路4 具体实现4.1. 遍历 toc.md 文件&#xff0c;收集文件名和对应的文件内容4.2. 实现文件批量生成逻辑4.3. 补全缺失的工具函数4.4. 进一步补全工具函数中的工具函数 5 脚本运行6 注意事项 利…