Linux在线安装MySQL8.0.24安装、MySQL数据备份和恢复

一、 Linux在线安装MySQL8.0.24

如果机器上已经有MySQL5.7版本需要先卸载

  1. 首先,需要停止MySQL服务。可以通过以下命令来停止服务:
sudo systemctl stop mysqld
  1. 接下来,我们需要卸载MySQL5.7。可以通过以下命令来卸载:
sudo yum remove mysql-server mysql-common mysql-community-server mysql-community-client
  1. 然后,还需要删除MySQL的数据目录和配置文件。可以通过以下命令来删除:
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf
  1. 最后,还需要清理残留文件。可以通过以下命令来清理:
sudo rm -rf /usr/share/mysql
sudo rm -rf /usr/lib/mysql

以上步骤完成后,MySQL5.7就已经被完全卸载了。

安装MySQL8.0.24
 #先安装wget
yum -y install wget     
#从华为镜像站下载mysql8.0.24压缩包,后缀为xz的压缩包,需要两步解压
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz
xz -d mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz
tar -zxvf mysql-8.0.24-linux-glibc2.12-x86_64.tar
#移动该文件到/usr/local/下,并将文件夹名称修改为mysql
mv mysql-8.0.24-linux-glibc2.12-x86_64 /usr/local/mysql 
#在/usr/local/mysql目录下创建data目录     
mkdir /usr/local/mysql/data                              
cd /usr/local/mysql
#安装依赖
rpm -qa|grep libaio
yum install libaio-devel.x86_64
yum -y install numactl
#编译安装并初始化mysql,务必记住初始化输出日志末尾的密码~~红框为数据库管理员登入临时密码!!!
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

记住编译安装完成之后 日志 最后面输出的临时密码
在这里插入图片描述

#配置mysql的配置文件

vi /etc/my.cnf
 
#复制下面的配置到 /etc/my.cnf文件中  :wq 保存
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
character_set_server=utf8

#启动mysql
/usr/local/mysql/support-files/mysql.server start

#添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql 
service mysql restart
#输入临时密码登录mysql (建议临时密码加上单引号 防止临时密码中有特殊字符导致转义的问题)
mysql -u root -p'临时密码'
#修改密码
alter user 'root'@'localhost' identified by '你的新密码';
#开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
select user, host from user;
#设置允许使用原生密码登录
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的新密码';
flush privileges;
quit
#将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld  
 
chmod +x /etc/init.d/mysqld  #赋予可执行权限
 
chkconfig --add mysqld  #添加服务
 
chkconfig --list  ##显示服务列表

Linux在线安装MySQL8.0.24安装、MySQL数据备份和恢复_第1张图片

二、手动数据备份和恢复

使用MySQL自带的 mysqldump工具进行备份

#数据备份
#-S /tmp/mysql_smt.sock 指定mysql的sock 文件   反斜杠后面不要有空格  表示换行 
#新建备份数据存放目录
mkdir /sql-data
cd /usr/local/mysql/bin

#备份多个库
./mysqldump -u用户名 -p密码 -S /tmp/mysql_smt.sock  \
--databases 库1 \
 库2 \
 库3 \
 库n \
> /sql-data/databases.sql

cd /sql-data
#数据恢复
mysql -u用户名 -p'密码' -e 'source /sql-data/databases.sql'
#等待恢复完成

三、使用crontab 执行脚本自动备份

新建脚本

#新建目录存放脚本和备份文件
mkdir /mysql-backup

cd /mysql-backup

vi dumpMysql.sh

#复制下面内容到脚本中 :wq 保存
cd /mysql-backup
today=`date +%F-%H%M`
binToday=`date +%F`
#备份+压缩
mysqldump -h 127.0.0.1 -P 3306  -u用户名 -p密码 --all-databases |gzip > dump_${today}.sql.gz
#只保留最近7天的数据
find /mysql-backup/ -name "dump*.sql.gz" -mtime +7 -exec rm -f {} \;

设置crontab 定时任务

#安装crontab 
yum install -y vixie-cron

crontab -e
#复制下面内容  :wq 保存
0 0 1 * * ? sh /mysql-backup/dumpMysql.sh

你可能感兴趣的:(MySQL数据库学习,linux,mysql)