centos7下mysql的安装备份恢复以及完全卸载

内容提示

本文以 centos7 为例,讲解 mysql 安装,备份以及恢复,还有完全卸载的方法和常见问题,都是笔者实际使用的

Mysql 安装

## 如缺少 wget 环境
yum install -y wget
## 5.7
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm

## 8.0
wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql80-community-release-el7-3.noarch.rpm

yum -y install mysql-community-server
# 如果报错 Public key for mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm is not installed 
# 可参考  https://www.cnblogs.com/volun/p/15824751.html
# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 启动 mysql
systemctl start  mysqld.service
# 查看运行状态
systemctl status mysqld.service
# 在日志文件中找出 root 密码
# 注 这里如果找到很多其他时间日志 说明之前安装过mysql 需要 按照最后一小节完全卸载后重新安装
grep "password" /var/log/mysqld.log
# 进入数据库
mysql -uroot -p
# 修改密码 注意这里密码要包含 大小写 特殊符号 否则会提示密码不符合规范
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Xxxxxx!';
# 开启mysql的远程访问
# 192.168.0.1 代表ip 可用 % 代替所有
# password 填入密码
grant all privileges on *.* to 'root'@'%' identified by 'Xxxxxx!' with grant option;
flush privileges; 
exit;
# 更改mysql的语言
status;
vim /etc/my.cnf

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

# 重启服务
service mysqld restart 
mysql -uroot -p

status;

mysql 备份与恢复以及定时脚本

# 使用 mysqldump 备份 canal 库到 canal.sql
mysqldump -uroot -p canal > canal.sql
# 恢复到 备库
# 注,这里笔者遇到过 collaction xxx找不到的问题,原因是 8.0 和 5.7 版本不兼容,发生与 把 mqsql8.0的数据导出后恢复到 5.7 的时候,当时处理的方式是保持版本一致
mysql -u root -p canal_rec < canal.sql
# 按照时间备份并压缩
mysqldump car| gzip > ./car`date +%Y-%m-%d_%H%M%S`.sql.gz;

# 此时会有警告,mysqldump: [Warning] Using a password on the command line interface can be insecure.
# 解决办法,在 mysql 配置文件中添加如下配置 

# 查找默认的 mysql 配置文件的位置
mysql --help|grep 'my.cnf'
# order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
# mysql 会顺着这个顺序依次去找配置文件,我们这里修改第一个文件,添加如下内容

vim /etc/my.cnf

[mysqldump]
user=root
password=Xxxxxx!

## 添加定时备份脚本 每天两点半执行
crontab -e

30 2 * * * /root/mysql_bak.sh

完全卸载

## 卸载
## 1. 删除相关 yum
rpm -qa |grep -i mysql
yum remove xxx
## 2.删除相关文件夹
find / -name mysql
## 3.删除/etc/my.cnf
rm -rf /etc/my.cnf
## 4.删除/var/log/mysqld.log 这里不删除会导致无法生成新密码,生成密码的时间点在第一次启动 mysql 服务的时候,但是如果之前安装过,这里就不会生成临时密码,卡了好久
rm -rf /var/log/mysqld.log
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值