Linux安装Mysql8.0及定时备份sql文件发送到指定邮箱

一:使用rpm安装mysql8.0

第一步:卸载Mariadb

Mariadb是centos默认安装的数据库,不卸载会和后续安装的mysql冲突

1.1.1:查看mariadb版本

rpm -qa|grep mariadb

1.1.2:卸载mariadb并检查是否卸载干净

卸载:rpm –e –nodeps 包名

检查:rpm -qa|grep mariadb

第二步:安装mysql

1.2.1:下载适合的版本的资源包

下载地址:https://dev.mysql.com/downloads/(mysql repo下载地址)

1.2.2:获取下载地址

1.2.3:使用wget下载rpm安装包至/usr/local/mysql

# wget 下载链接

1.2.4:安装 yum repo文件并更新 yum 缓存

安装:rpm -ivh 包名

更新yum命令:

yum clean all

yum makecache

1.2.5:使用yum安装mysql

yum install mysql-community-server

1.2.6:修改配置文件,防止数据库运行后,产生数据库大小写敏感无法更改的问题

在/etc/my.cnf文件中[mysqlId]下增加配置

lower_case_table_names=1

第三步:登录mysql

1.3.1:启动mysql

systemctl start mysqld.service

1.3.2:获取初始密码登录mysql

cat /var/log/mysqld.log | grep password

1.3.3:使用初始密码登录mysql

提示:以下操作是在sql数据库中完成的

mysql -u root –p

根据提示输入密码

补充:关于修改初始密码

如果想修改mysql密码为简单密码,例如:123456

1:需要先设置一个符合规则的密码(大写+小写+数字+符号)

ALTER USER 'root'@'localhost' IDENTIFIED BY '输入的密码';

2:查看当前密码策略

SHOW VARIABLES LIKE 'validate_password.%';

3:修改校验密码策略等级,设置密码长度至少为6

修改校验密码策略等级:set global validate_password.policy=low;

设置密码长度至少为6:set global validate_password.length=6;

4:设置密码为123456

二:创建数据库和用户并授权

第一步:创建数据库

2.1.1:创建数据库

CREATE DATABASE 数据库;

2.1.2:查看当前所有数据库

show databases;

2.1.3:使用上一步创建的数据库

use 数据库;

2.1.4;在创建的数据内新建表(此处以具体表示例)

CREATE TABLE stone(id INT(11), name VARCHAR(25),sex CHAR(2) NULL);

2.1.5:显示当前数据库中所有表以及显示具体表结构

显示当前数据库中所有表:show tables;

显示具体表结构:desc 表;

第二步:创建用户并授权

补充:

localhost 只能本地登录

% 任何客户机都能登录(不安全,可以在创建用户时指定ip)

注:user@%和user@localhost是两个不同的用户

2.2.1:创建本地登录用户

CREATE USER 'liqy'@'localhost' IDENTIFIED BY '123456';

2.2.2:查看上一步创建的用户权限

USAGE ON .表示该用户对任何数据库和任何表都没有权限

2.2.3:给2.2.1创建的用户授权使用2.1.1创建的数据库

grant all privileges on sinfo.* to 'liqy'@'localhost';

三:设置数据库每天0点自动备份并将备份的sql文件发送到指定邮箱

第一步:编写数据库备份脚本文件

3.1.1:在/etc/my.cnf中配置[client]

[client]

user=

password=

3.1.2:在/usr/local/mysql/backup文件夹里创建脚本文件

touch sqlbackup.sh

3.1.3:编写3.1.2创建的脚本文件

vim /usr/local/mysql/backup/sqlbackup.sh

内容

#data/backup/mysql

#!/bin/bash

mysqldump sinfo >/usr/local/mysql/backup/sinfo_$(date “+%Y%m%d_%H:%M:%S”).sql

3.1.4:授予3.1.1创建的脚本可执行权限后执行该脚本并查看执行结果

chmod +x sqlbackup.sh

在重启mysql时候遇到错误

应该查看mysql的日志文件

在/etc/my.cnf中

查看后发现报错

在/etc/my.cnf中添加

lower_case_table_names = 1

并且/etc/my.cnf中账号密码配置应该在[client]标签下

第二步:配置邮箱服务

3.2.1:安装mail

yum install mailx

3.2.2:163邮箱开启SMTP

记住授权密码

3.2.3:修改配置文件,让mail可以连接163的stmp

vim /etc/mail.rc

set bsdcompat

set from=15238585397@163.com

set smtp=smtp.163.com:25

set smtp-auth-user=15238585397@163.com

set smtp-auth-password=CNXGDEHVKBGNLJNA #

set smtp-auth=login

3.2.4:在3.1.1的脚本里加入邮件发送代码,将备份的sql文件发送到指定邮箱

d=`date "+%Y-%m-%d_%H:%M:%S"`

t="databases backup - $d"

echo "test"|mail -s sinfo_$(date "+%Y%m%d_%H:%M:%S").sql -a /usr/local/mysql/backup/sinfo_$(date "+%Y%m%d_%H:%M:%S").sql 582911796@qq.com

”test“——正文内容

sinfo_$(date "+%Y%m%d_%H:%M:%S").sql————标题

/usr/local/mysql/backup/sinfo_$(date "+%Y%m%d_%H:%M:%S").sql————附件

3.2.5:执行脚本,查看执行结果

第三步:设置计划任务,每隔一分钟执行3.1.1脚本

3.3.1:安装crontab

yum install vixie-cron

yum install crontabs

注:vixie-cron软件包是cron的主程序;

/sbin/service crond start #启动服务

3.3.2:设置每分钟执行一次3.1.1的脚本

crontab –e 编辑任务

0/1 /usr/local/mysql/backup/sqlbackup.sh

执行结果

3.3.3:设置每天0点执行一次

00 00 * /usr/local/mysql/backup/sqlbackup.sh

重新载入配置:/sbin/service crond reload

文章作者: Administrator
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IKKO
linux 数据库
喜欢就支持一下吧