热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

yum命令在线下载mysql数据库_centos7Yum在线安装方式mysql8数据库并配置远程链接并单机备份...

安装MySQL8.0(参考官方文档)由于最新版的centos7自带Mariadb,所以需要先把他干掉!#卸载yumremovemariadb#删除配置文

安装MySQL8.0(参考官方文档)

由于最新版的centos7 自带 Mariadb ,所以需要先把他干掉!

#卸载

yum remove mariadb

#删除配置文件

rm -f /etc/my.cnf

#删除数据目录

rm -rf /var/lib/mysql/

1 添加yum仓库

1.1 下载最新的.rpm包

sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

1.2 添加仓库并更新仓库

sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm

2 安装MySQL8.0

sudo yum install mysql-community-server

这里,小编遇到一个坑,就是mysql8 默认为区分大小写的编码格式,而且在你有数据库,表,的存在时,不可以直接忽略大小写的编码更改,且会引起mysql无法启动等问题。

所以,在配置mysql之前,请考虑清楚是否需要大小写这个编码。

设置忽略大小写

mysql安装完在启动前修改/etc/my.cnf文件,添加配置:lower_case_table_names=1

查看是否忽略大小写。

show variables like '%lower_case%'

c02ff5e36ad69dccfe4e5d30fa946c99.png

0= 区分大小写, 1=忽略大小写

*(如果已有数据库等表信息,确不想更换,name,您只能先备份数据库,然后删除 var/lib/mysql 下左右数据,

rm -rf /var/lib/mysql

然后获取默认登录密码。重新进行mysql的配置,

)

3 启动MySQL服务

sudo systemctl start mysqld.service

4 登录mysql

4.1查看mysql默认登录密码:

sudo grep 'temporary password' /var/log/mysqld.log

98dddd0aa81b22e08a5c6943beca7d21.png

4,2登录mysql

f3b2507843bcb7b641594d6b8a75380a.png

登陆后建议立即修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';

修改密码时默认要求设置高等级密码,

官方文档原文:要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。

远程链接配置

主要分为两个步骤:

1.创建并设置远程登录用户(可以使用root用户,但是不建议)

2. 开放3306端口

一 设置远程登录用户

使用自己创建的用户并允许任何主机登录

create user  'your_user_name'@'%' identified by 'your_password';

注: 本人使用的workbench链接远程MySQL,如果使用navicat, mysql8.0默认的加密方式是“caching_sha2_password”,navicat目前只支持"mysql_native_password",所以创建用户时执行下面命令修改

alter user  'your_user_name'@'%' identified with mysql_native_password by 'your_password';

修改后可以执行select host,user,plugin from user;语句,查看新增用户的plugin是否是mysql_native_password

如果提示密码过于简单,执行以下两条命令,修改密码等级,再次上述的命令即可(不建议) .

set global validate_password.policy=0;

set global validate_password.length=1;

2

设置用户权限

GRANT ALL PRIVILEGES ON *.* TO 'your_user_name'@'%';

使用root用户:

use mysql;

update user set host='%' where user ='root'

更新权限并退出

flush privileges;

quit

二 开放3306端口

查看端口是否开放

sudo iptables-save

如果没有,则执行

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload  #  重启防火墙

再次执行

sudo iptables-save

查看端口

关闭防火墙:

sudo systemctl stop firewalld

单机备份:

1:创建备份脚本

#!/bin/bash

# File: /home/mysql/backup.sh

# Database info

DB_NAME="schoolsafe-ja-test"

DB_USER="mysql"

DB_PASS="P@ssw0rd2020"

# Others vars

BIN_DIR="/usr/bin/"

BCK_DIR="/opt/dbBack/mysqlBackSpace"

#DATE="date+%F"

# TODO

$BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BCK_DIR/db_$(date +"%Y%m%d").sql

注意: 脚本创建的时候,由于有些用户喜欢在windows环境创建一个脚本文件,然后从copy到服务。这会导致centos可能识别这个脚本并不是linux的文件,

所以需要去更改当前脚本文件的编码。

vim mysql-back.sh

set ff = unix

一、安装定时任务

如果本地没有安装包,在能够连网的情况下可以在线安装

yum install vixie-cron

yum install crontabs

查看crond服务是否运行:

pgrep crond

/sbin/service crond status

ps -elf|grep crond|grep -v "grep"

crond服务操作命令:(centos unbuntu下为service cron start其他类似)

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

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

chkconfig --list crond 查看定时器任务状态

crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off

三、配置定时任务

crontab -e编辑定时任务

0 1 * * * /home/testuser/test.sh

每天晚上1点调用/home/testuser/test.sh

crontab -l查看当前用户下的定时任务



推荐阅读
author-avatar
马宝宝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有