Linux 下安装mysql

news2024/9/27 9:21:19

1.检查之前是否安装过mysql 

rpm -qa | grep mysql

如果之前安装过,删除之前的安装包

rpm -e 安装包

如果没有,进行后续安装

2. 下载

MySQL :: Download MySQL Community Server (Archived Versions)icon-default.png?t=O83Ahttps://downloads.mysql.com/archives/community/

3. 将文件复制到linux 环境中

使用xshell工具将下载的文件传输到服务器上

4. 解压到指定路径下

创建目录 /usr/local/mysql(将mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz 里边的文件放在mysql下)

tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql/

5. 检查是否已经有mysql 用户或者组

如果没有,就进行添加

groups mysql

添加用户组和用户

groupadd mysql && useradd -r -g mysql mysql

再执行 groups mysql 看是否添加成功

6. 创建数据目录并赋权

创建目录

mkdir -p /data/mysql

赋权

chown mysql:mysql -R /data/mysql

7. 修改配置文件

vim /etc/my.cnf

[mysqld]
# 设置为0.0.0.0表示任意主机都可以访问,如果设置为127.0.0.1 表示只可以本地访问
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_set_server=utf8mb4

# socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

8.初始化配置信息

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

如果有以下报错:

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

安装 libaio

yum install -y libaio

安装完成之后重新初始化配置信息

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

9. 查看初始密码信息

cat /data/mysql/mysql.err

 在 A temporary password is generated for root@localhost:  后边就是

10. 启动

# /etc/init.d/ 

# 有时候要实现在不使用 kill 或 killall 命令的情况下,能干净的启动或杀死一个进程。

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

service mysql start

有时候启动报错:

Redirecting to /bin/systemctl start mysql.service
Failed to start mysql.service: Unit not found.

解决:

1. whereis mysql 看下是否存在

2. ll /etc/init.d/ | grep mysql 看下是否存在

3. find / -name mysql.server 查看位置

4. 将第三步搜索到的服务复制到init.d

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

重新启动试试

报错:

Starting MySQLCouldn't find MySQL server (/usr/local/mysql/[FAILED]ld_safe)

报错:

tarting MySQL.2024-09-25T09:59:39.151645Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
The server quit without updating PID file (/data/mysql/mysq[FAILED]
处理:

mkdir /var/log/mariadb

touch /var/log/mariadb/mariadb.log

chown -R mysql:mysql /var/log/mariadb/

11. 修改数据库密码

1. 开启免密登录

vim /etc/my.cnf  

在[mysqld] 下添加

skip-grant-tables

2. 重启服务

service mysql restart

3. 登录

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

4. 刷新规则允许外部访问

use mysql      #选择访问mysql库

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

5. 修改密码

ALTER USER "root"@"%" IDENTIFIED  BY "123456";

FLUSH PRIVILEGES; #刷新 

6. 退出

exit

7.恢复密码登录

vim /etc/my.cnf

service mysql restart # 重启服务

8. 密码登录

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

输入密码

注意:阿里云需要开放3306端口

授权对象最好使用具体的ip保证安全

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

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

相关文章

plt常用函数介绍二

目录 fig.add_subplot()ax.set()plt.legend()plt.subplots_adjust()plt.suptitle()plt.grid() fig.add_subplot() fig.add_subplot() 是 Matplotlib 中 Figure 对象的方法,用于在图形中添加子图(subplot)。 其语法为: subplot(…

同声传译用什么软件最方便?推荐五款易用的同声传译软件

在国际贸易、国际会议及跨国合作项目中,语言障碍往往是沟通效率的一大挑战。 为了解决这个问题,同声传译免费软件应运而生,它们通过先进的技术实现了即时准确的语言转换,极大地促进了不同语言使用者间的交流与协作。 下面&#…

2025考研倒计时 考研时间公布了 你准备好复习冲刺了吗?

2025考研倒计时 考研时间公布了 你准备好复习冲刺了吗?今年的考研时间终于公布了: 正式报名时间2024.10.15-2024.10.28,初试时间12月21日,相信很多学子们已经做好冲刺的准备了。 在这关键的90天的时间内,如何做到时刻…

各种编程语言中有哪些共性?超详细+通俗易懂版!!!

各种编程语言中存在着一些共性,这些共性构成了编程语言的基础框架和设计原则。以下是这些共性的主要方面: 1. 遵循基本的编程原则 模块化:将程序划分为多个独立、可复用的模块,有助于降低程序的复杂度并提高可维护性。封装&#…

【计网】从零开始学习http协议 --- http的请求与应答

如果你不能飞,那就跑; 如果跑不动,那就走; 实在走不了,那就爬。 无论做什么,你都要勇往直前。 --- 马丁路德金 --- 从零开始学习http协议 1 什么是http协议2 认识URL3 http的请求和应答3.1 服务端设计…

Stack Overflow 如何提升其单元测试水平

在 Stack Overflow 成立之初,我们只是一个快速、精简运行的网站。Stackoverflow.com 是由开发人员为开发人员创建的小型初创公司。像所有初创公司一样,我们优先考虑对我们来说最重要的质量属性,而忽视了许多其他属性,包括根据最佳…

功耗或600W,RTX 5090、5080集体降级国内特供版

早在一个多月前,国外知名硬件泄密者 kopite7kimi 就曾透露 NVIDIA RTX 50 系显卡或推迟到明年初 CES 大会上发布。 来源:X 结合前几天爆出的台积电 4NP 工艺产能告急、NVIDIA 为提升下代显卡良率重新流片等。 如果不出意外,这原定在今年第四…

Π-系上的最小 d-系等于 Π-系上的最小集代数

称空间 Ω \Omega Ω 中满足下述条件的集系为 d d d-系: Ω ∈ D \Omega \in \mathscr{D} Ω∈D若 A , B ∈ D A, B \in \mathscr{D} A,B∈D 且 A ∩ B ϕ A \cap B\phi A∩Bϕ, 则 A B ∈ D AB \in \mathscr{D} AB∈D;若 A ⊂ B , A , B ∈ D A \subset B, A, B \in \…

visio 2021入门直通车(一天全搞定)

安装Visio 2021 (64bit)安装教程 1.1. 模板类型 1.2. 界面布局 1.3. 插入对象 1.4. 添加页面 1.5. 全屏演示|页面自适应|visio文件切换 1.6. 快捷键 快捷键说明 Shift 鼠标滚轮 按下shift,点击鼠标滚轮水平页面滚动 鼠标滚轮 垂直页面滚动 Ctrl 鼠标滚轮 按…

每天分享一个FPGA开源代码(6)- 浮点数运算

FPGA(现场可编程门阵列)是一种高度可配置的集成电路,它可以用于实现各种数字信号处理任务,包括浮点数运算。 在FPGA上进行浮点数运算通常涉及以下几个步骤: 1. 选择浮点数格式 浮点数运算首先要确定使用哪种浮点数格…

百度amis框架经验分享

百度amis框架经验分享 官方文档 amis - 低代码前端框架 这篇文章讲了amis的设计 为什么说百度AMIS框架是一个优秀的设计_百度前端框架-CSDN博客 学习方法: 最好的学习方法就是GPT官方文档 不要去很大力气通读官方文档,大概浏览一遍就行, 以你…

docker中搭建nacos并将springboot项目的配置文件转移到nacos中

前言 网上搜索docker中搭建nacos发现文章不是很好理解,正好最近在搭建nacos练手。记录一下整个搭建过程。 docker中搭建nacos并将springboot项目的配置文件转移到nacos中 前言1 docker中下拉nacos镜像2 配置nacos信息1. 创建docker的挂载目录,实现数据的…

SpringBoot之登录校验关于JWT、Filter、interceptor、异常处理的使用

什么是登录校验? 所谓登录校验,指的是我们在服务器端接收到浏览器发送过来的请求之后,首先我们要对请求进行校验。先要校验一下用户登录了没有,如果用户已经登录了,就直接执行对应的业务操作就可以了;如果用…

机器学习西瓜书笔记(十一) 第十一章特征选择与稀疏学习+代码

第十一章 特征选择与稀疏学习11.1 子集搜索与评价小结 11.2 过滤式选择小结 11.3 包裹式选择小结 11.4 嵌入式选择与L1正则化小结 11.5 稀疏表示与字典学习小结 11.6 压缩感知小结 11.7 代码单变量特征选择 11.8 章末小结 特征选择与稀疏学习 11.1 子集搜索与评价 小结 子集搜…

Facebook Marketplace无法使用的原因及解决方案

Facebook Marketplace是一项广受欢迎的买卖平台,然而,有时候用户可能会遇到无法访问或使用该功能的问题。通常,这些问题可以归结为以下几类原因: 地理位置限制: Facebook Marketplace并非在全球每个地区都可用。在某些…

【C++笔试强训】如何成为算法糕手Day2

学习编程就得循环渐进,扎实基础,勿在浮沙筑高台 循环渐进Forward-CSDN博客 目录 循环渐进Forward-CSDN博客 第一题:牛牛的快递 第二题:最小花费爬楼梯 第三题:数组中两个字符串的最小距离 补充0x3f3f3f3f 第一题…

OpenWrt学习(二)

OpenWrt是基于Linux系统进行开发需要学习Linux系统基本知识。下面介绍一下OpenWrt系统下常用的指令。 时间命令 查看当前时间 date查看当前日历 cal关机和重启 立即安全关闭系统 shutdown -h now 嵌入式设备不会关机,只会停止运行系统。 重新启动系统 reb…

内核是如何发送数据包

1、网络发包总览 网络发包总流程图如下: 从上图中可以看到用户数据被拷贝到内核态,然后经过协议栈处理后进入RingBuffer。随后网卡驱动真正的将数据发送了出去。当发送完成的时候,是通过硬中断来通知CPU,然后清理RingBuffer。 …

2024.9.25 作业和思维导图

栈 #include <iostream> #include <stdexcept> using namespace std;class My_stack { private:int * data; //栈空间int capacity;int top; //栈顶元素的下标 protected:public:/******************成员函数*************///构造函数My_stack(int c 10):capac…

JS中的事件和DOM操作

一、事件[重要] 1、 事件介绍 事件: 就是发生在浏览器(页面)上一件事,键盘事件,鼠标事件,表单事件,加载事件等等 2、 事件绑定方式 事件要想发生,就得将事件和标签先绑定(确定哪个标签发生什么事情,又有什么响应) 一个完整的事件有三部分 事件源(标签),哪里发出的事. 什么事(…