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

这篇具有很好参考价值的文章主要介绍了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用户

请牢记返回的默认密码

linux安装MySQL5.7(安装、开机自启、定时备份),运维安装,linux,运维,服务器,mysql,java

启动服务

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

启动成功截图

linux安装MySQL5.7(安装、开机自启、定时备份),运维安装,linux,运维,服务器,mysql,java

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

linux安装MySQL5.7(安装、开机自启、定时备份),运维安装,linux,运维,服务器,mysql,java

#开启可以远程登录
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版本号,想去搜索一下是否是版本问题,发现提示配置文件内容错误

linux安装MySQL5.7(安装、开机自启、定时备份),运维安装,linux,运维,服务器,mysql,java

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

linux安装MySQL5.7(安装、开机自启、定时备份),运维安装,linux,运维,服务器,mysql,java

linux安装MySQL5.7(安装、开机自启、定时备份),运维安装,linux,运维,服务器,mysql,java

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

linux安装MySQL5.7(安装、开机自启、定时备份),运维安装,linux,运维,服务器,mysql,java

看到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文章来源地址https://www.toymoban.com/news/detail-792699.html

到了这里,关于linux安装MySQL5.7(安装、开机自启、定时备份)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 服务开机自启

    Centos有两种方式,一是修改/etc/rc.local文件,二是使用chkconfig来管理开机自启(chkconfig无法自启动源码包) 等级 等级0:关机 等级1:单用户模式 等级2:无网络连接的多用户命令行模式 等级3:有网络连接的多用户命令行模式 等级4:不可用 等级5:带图形界面的多用户模式 等级

    2024年02月13日
    浏览(40)
  • 【Linux】企业实战项目rsync+inotify实现实时同步(inotify安装及介绍、rsync + inotify 实现实时同步、rsync + inotify实现开机自启 )

    rsync与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。 随着应用系统规模的不断扩大,对数据的安全性和可

    2024年02月04日
    浏览(45)
  • MySQL服务关闭开机自启,改成手动启动状态

    最近在写前端,所以就先把后端数据库禁用或手动启动吧。防止浪费太多内存或资源。一般就之前损坏了的数据库就禁用吧,其他最近不常用的服务就没必要开机自启动吧,毕竟电脑只有一台,不想学习想用电脑来玩的话就讲工作服务从开机自启动状态改成手动状态吧。 首先

    2024年02月09日
    浏览(50)
  • Linux关闭开机自启服务

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 chkconfig查看存在的任务 关闭自动启动的任务 查看自动启动任务 关闭自动启动

    2024年02月12日
    浏览(41)
  • docker设置linux开机自启

    要在Linux系统上设置Docker开机自启,可以按照以下步骤操作: 打开终端并使用root权限登录系统。 编辑 /etc/rc.local 文件: sudo vi /etc/rc.local 在文件的最后一行添加以下内容: /usr/bin/systemctl start docker.service 保存文件并退出编辑器。 添加可执行权限以使该文件在系统启动时自动运

    2024年02月14日
    浏览(42)
  • linux设置pg库开机自启

    要在Linux系统上设置PostgreSQL数据库开机自启,可以按照以下步骤操作: 打开终端并使用root权限登录系统。 编辑 /etc/rc.local 文件: sudo vi /etc/rc.local 在文件的最后一行添加以下内容: su - postgres -c \\\"/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /var/log/postgresql.log\\\" 这里假设你的

    2024年02月13日
    浏览(51)
  • linux设置redis服务(开机自启)

    (1)、安装redis (2)、找到redis 安装目录 如启动文件所在目录: /usr/local/redis/redis-6.0.0/bin/redis-server 配置文件目录: /usr/local/redis/redis-6.0.0/etc/redis.conf 保存文件! 接下来就可以用服务操作redis(可以直接用redis,也可以用redis.service):

    2024年02月15日
    浏览(45)
  • linux下通过systemd配置开机自启

    1.创建对应服务的启动脚本,放在/etc/systemd/system,名字为服务名.service 2.赋予权限 chmod 777 自启脚本绝对路径 3.重新加载systemd配置 systemctl daemon-reload 4.使用以下命令启用Kafka服务,使其在系统启动时自动运行: systemctl enable kafka 5.使用以下命令启动Kafka服务: systemctl start kafka

    2024年02月10日
    浏览(40)
  • Linux开机自启.sh脚本(简单粗暴)

    1、创建脚本 (1)#切换到你将要存脚本的目录 (2)编写脚本autorun.sh 以下为脚本内容: (该执行脚本的意思是在/home目录下创建一个input.txt文件夹,并写入当前日期和hostname)  2、将该脚本添加到启动文件中 执行以下命令: 在最后一行添加你写的脚本(从根目录开始写)

    2024年02月12日
    浏览(54)
  • Linux开机自启的三种方式

    1、 在/etc/rc.local文件中添加自启动命令   ​​​​​​​2、 在/etc/init.d目录下添加自启动脚本 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。 PS:添加完后务必设置文

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包