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

linux安装MySQL5.7(安装、开机自启、定时备份)

一、安装步骤

我喜欢安装在/usr/local/mysql目录下

#切换目录
cd /usr/local/
#下载文件
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
#解压文件
tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local
#删除压缩包 
rm -rf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
#文件改名
mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql-------创建mysql用户组 一定按照如下要求来安装!!!-----------
# 创建MySQL用户组 
groupadd mysql
# 添加MySQL用户并添加到MySQL用户组
useradd -r -g mysql mysql-------创建数据目录-----------cd /usr/local/mysql 
mkdir data
#赋予权限
chown mysql:mysql -R /usr/local/mysql/data/

配置mysql的配置文件

#增加配置文件
vim /etc/my.cnf
#内容如下[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

mysql初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --initialize–defaults-file:默认配置文件地址
–datadir:mysql存储数据目录 按照实际地址来!!!!!!!!!
–basedir:mysql安装目录 按照实际地址来!!!!!!!!!!
–user:mysql用户

请牢记返回的默认密码

启动服务

/usr/local/mysql/support-files/mysql.server start

启动成功截图

# 设置密码
SET PASSWORD = PASSWORD('ok');
# 设置用户的访问密码用不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
#刷新权限
FLUSH PRIVILEGES;

#开启可以远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码';
#刷新权限
FLUSH PRIVILEGES;

开启端口白名单

# 开启端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查看已经开放的端口
firewall-cmd --list-ports

配置环境变量

如果不配置我们需要去bin目录下执行mysql 主要方便连接使用和操作

#将MySQL设置为命令
export PATH=/opt/lampp/bin:$PATH
source /etc/profile

导入文件出现的问题

the table is full

根据网上的教程,在my.cnf文件夹增加如下配置,重启mysql后并未生效

tmp_table_size = 1024M
max_heap_table_size = 1024M

通过命令尝试查看mysql版本号,想去搜索一下是否是版本问题,发现提示配置文件内容错误

我也只是草率看网上直接复制到最后面[client]就完事了,实际我们在粘贴中需要追加到[mysqld]下方。

2. 设置mysql开机自启动

方案一 将mysql交给systemctl来管理

#创建文件

vi /etc/systemd/system/mysqld.service

#文件内容

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/8.0/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
Type=simple
TimeoutSec=0
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS
# EnvironmentFile=/etc/sysconfig/mysql
LimitNOFILE=65535
Restart=on-failure
RestartPreventExitStatus=1
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=false
 

执行命令

加载 systemctl文件

systemctl daemon-reload
启动 MySQL

systemctl start mysqld
关闭Mysql

systemctl stop mysqld

重启mysql

systemctl restart mysqld

设置开机自启

systemctl enable mysqld
 

方案二 创建启动脚本

#在/etc/rc.d/init.d/编辑一个新文件autostartmysql.sh
cd /etc/rc.d/init.d/


vim ./autostartmysql.sh


#文件内容

#!/bin/sh
# chkconfig: 2345 10 90
# description: myservice...
/usr/local/mysql/support-files/mysql.server start

#为autostartmysql.sh赋予权限
chmod +x ./autostartmysql.sh
#将autostartmysql.sh添加到 chkconfig 中
chkconfig --add ./autostartmysql.sh 
chkconfig autostartmysql.sh on
#查看是否添加成功
chkconfig --list

看到3、4、5状态为开或者为 on 则表示成功。如果是 关或者 off 则执行一下

chkconfig --level 345 autostartmysql.sh on

#删除开启自启任务
chkconfig --del

3.Mysql每晚定时备份

准备备份脚本

vim  /usr/local/mysql/backupdb.sh

#!/bin/bash
#备份路径
BACKUP=/home/mysql-bak/ae
#当前时间
DATETIME=$(date +%Y-%m-%d)
LOG_FILE=/usr/local/mysql/bak-sh/logs/ae/$DATETIME".log"
echo "===备份开始:$(date +"%Y-%m-%d %H:%M:%S")===" | tee -a ${LOG_FILE}#数据库名称
DATABASE=ae
#数据库地址
HOST=127.0.0.1
#数据库用户名
DB_USER=root
#数据库密码
DB_PW=root
#创建备份目录
[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"
[ ! -d "${LOG_FILE}" ] && touch "${LOG_FILE}"
echo "备份文件存放于${BACKUP}/$DATABASE-$DATETIME.sql" | tee -a ${LOG_FILE}
#开始备份
echo "===备份文件开始===" | tee -a ${LOG_FILE}
mysqldump --verbose  -h localhost  -u${DB_USER} -p${DB_PW}  ${DATABASE} >${BACKUP}/$DATETIME/$DATABASE-$DATETIME.sql 2>> $LOG_FILE
echo "===备份文件结束===" | tee -a ${LOG_FILE}
#压缩成tar.gz包
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#备份到服务器B
#scp $DATABASE-$DATETIME.sql root@ip:/home/mysqlBackup
#删除备份目录
rm -rf ${BACKUP}/$DATETIME
#删除10天(不含)前备份的数据,这边可以自行更改
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "===数据库备份到服务器成功==="

创建定时任务

#添加任务
crontab -e
#添加指令 下方是每晚一点执行
00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh

出现的问题

  • mysqldump命令找不到

/usr/local/mysql/bak-sh/ae-bak.sh:行23: mysqldump: 未找到命令。

解决方案1:

在配置文件中将mysqldump命令改为绝对路径。

whereis mysqldump   命令搜索

解决方案2:

#添加指令 下方是每晚一点执行 增加source /etc/profile

00 01 * * * source /etc/profile && /bin/sh /usr/local/mysql/bak-sh/ae-bak.sh

#查看定时任务执行日志

cat   /var/log/cron

#查看定时任务执行中打印的日志
cat /var/spool/mail/root

相关文章:

linux安装MySQL5.7(安装、开机自启、定时备份)

一、安装步骤 我喜欢安装在/usr/local/mysql目录下 #切换目录 cd /usr/local/ #下载文件 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz #解压文件 tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local …...

openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态

文章目录 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态195.1 分析查询语句运行状态195.1.1 问题现象195.1.2 处理办法 openGauss学习笔记-195 openGauss 数据库运维-常见故障定位案例-分析查询语句运行状态 195.1 分析查询语句运行状态…...

Oracle篇—实例中和name相关参数的区别和作用

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…...

python + selenium 初步实现数据驱动

如果在进行自动化测试的时候将测试数据写在代码中,若测试数据有变,不利于数据的修改和维护。但可以尝试通过将测试数据放到excel文档中来实现测试数据的管理。 示例:本次涉及的项目使用的12306 selenium 重构------三层架构 excel文件数据如…...

数字孪生+可视化技术 构建智慧新能源汽车充电站监管平台

前言 充电基础设施为电动汽车提供充换电服务,是重要的交通能源融合类基础设施。近年来,随着新能源汽车产业快速发展,我国充电基础设施持续增长,已建成世界上数量最多、服务范围最广、品种类型最全的充电基础设施体系。着眼未来新…...

微信小程序开发学习笔记《11》导航传参

微信小程序开发学习笔记《11》导航传参 博主正在学习微信小程序开发,希望记录自己学习过程同时与广大网友共同学习讨论。导航传参 官方文档 一、声明式导航传参 navigator组件的url属性用来指定将要跳转到的页面的路径。同时,路径的后面还可以携带参数…...

BikeDNA(七)外在分析:OSM 与参考数据的比较1

BikeDNA(七)外在分析:OSM 与参考数据的比较1 该笔记本将提供的参考自行车基础设施数据集与同一区域的 OSM 数据进行所谓的外部质量评估进行比较。 为了运行这部分分析,必须有一个参考数据集可用于比较。 该分析基于将参考数据集…...

KY43 全排列

全排列板子 ti #include<bits/stdc.h>using namespace std;string s; map<string, int>mp;void swap(char &a, char &b){char em a;a b;b em; }void dfs(int n){ //将s[n~l]的全排列转化成s[n]s[n1~l]的全排列 if(n s.length()){mp[s] 1;return ;}f…...

UltraScale 和 UltraScale+ 生成已加密文件和已经过身份验证的文件

注释 &#xff1a;如需了解更多信息&#xff0c;请参阅《使用加密和身份验证确保 UltraScale/UltraScale FPGA 比特流的安全》 (XAPP1267)。 要生成加密比特流&#xff0c;请在 Vivado IDE 中打开已实现的设计。在主工具栏中&#xff0c;依次选择“Flow” → “Bitstream Setti…...

2023年全国职业院校技能大赛软件测试赛题—单元测试卷②

单元测试 一、任务要求 题目1&#xff1a;任意输入2个正整数值分别存入x、y中&#xff0c;据此完成下述分析&#xff1a;若x≤0或y≤0&#xff0c;则提示&#xff1a;“输入不符合要求。”&#xff1b;若2值相同&#xff0c;则提示“可以构建圆形或正方形”&#xff1b;若2<…...

极兔单号查快递,极兔快递单号查询,筛选出途经指定城市的单号

随着电商的繁荣&#xff0c;快递单号已经成为我们生活中的一部分。然而&#xff0c;面对海量的快递信息&#xff0c;如何快速、准确地筛选出我们需要的单号&#xff0c;变成了许多人的痛点。今天&#xff0c;我要为你介绍一款强大的工具——快递批量查询高手&#xff0c;让你的…...

[redis] redis高可用之持久化

一、Redis 高可用的相关知识 1.1 什么是高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;…...

云原生 微服务 restapi devops相关的一些概念说明(持续更新中)

云原生&#xff1a; 定义 云原生是一种构建和运行应用程序的方法&#xff0c;是一套技术体系和方法论。它是一种在云计算环境中构建、部署和管理现代应用程序的软件方法。云原生应用程序是基于微服务架构的&#xff0c;采用开源堆栈&#xff08;K8SDocker&#xff09;进行容器…...

初学unity学习七天,经验收获总结

初学unity七天&#xff0c;经验收获总结 学习就是认识新观念和新想法的过程。 假如人们始终以同一种思维方式来考虑问题的话&#xff0c;那么始终只会得到同样的结果。 因为我对你讲述的许多内容是你以前从未接触过的&#xff0c;所以我建议你&#xff0c;在你还没有做之前&…...

hcip实验2

根据地址分配完成基础配置 先配置r1,r2,r3的ospf以及与isp通讯&#xff1a; 配置缺省路由&#xff1a; 完成nat配置&#xff1a; 完成r5,r6,r7,r8,r15的mgre以及整个网络的ospf配置 mgre&#xff1a; area 2 和3之间用多进程双向重发布技术完成&#xff1a; area4和5之间用虚…...

js:使用canvas画一个半圆

背景 需求需要画一个半圆&#xff0c;或者多半圆&#xff0c;其实一下子就能想到 canvas 中的圆弧&#xff0c;核心使用 context.arc context.arc(x,y,r,sAngle,eAngle,counterclockwise)接下来我们看看示例 例一 <!DOCTYPE html> <html lang"en"> &…...

1.框架介绍项目环境配置与项目启动!

目录 1.框架开发方向:2.项目启动与环境搭建 1.框架开发方向: 1.前后端分离项目 2.纯后端项目 3.移动端开发uni-app(ios、Android、H5、微信小程序) 4.内容管理系统2.项目启动与环境搭建 1.安装node.js 下载地址可以用nvm安装 便于运行前端项目https://juejin.cn/post/7094576…...

LeetCode算法题解:螺旋矩阵

LeetCode算法题解&#xff1a;螺旋矩阵 题目描述 给定一个 m x n 的矩阵&#xff0c;按照螺旋顺序返回矩阵中的所有元素。 解题思路 1. 初始化变量 我们首先定义四个边界变量来跟踪螺旋遍历的边界&#xff1a;top、bottom、left 和 right。 2. 螺旋遍历 开始从左到右遍历…...

【Java 设计模式】设计原则之开放封闭原则

文章目录 1. 定义2. 好处3. 应用4. 示例结语 在软件开发中&#xff0c;设计原则是创建灵活、可维护和可扩展软件的基础。 这些原则为我们提供了指导方针&#xff0c;帮助我们构建高质量、易理解的代码。 ✨单一职责原则&#xff08;SRP&#xff09; ✨开放/封闭原则&#xff08…...

数据分析求职-知识脑图

今天和大家聊聊数据分析求职常见面试题&#xff0c;这是这个系列的第一篇文章&#xff0c;但是我不想开始就直接罗列题目&#xff0c;因为这样的文章实在太多了&#xff0c;同学们的兴趣程度肯定一般。所以&#xff0c;我想先和大家聊聊在准备面试题时候通常遇到的困扰&#xf…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...