目录
[openEuler 二进制方式安装MySQL 8.0.x](#openEuler 二进制方式安装MySQL 8.0.x)
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
实验需求:
1、openEuler 二进制方式安装MySQL 8.0.x。
2、备份数据库
3、备份数据库school到/backup目录
4、备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
5、直接将MySQL数据库压缩备份
第一个实验步骤:
openEuler 二进制方式安装MySQL 8.0.x
1.首先需要获取软件包
root@localhost \~# wget -c https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz

2.然后安装tar和xz格式可进行解压工具
root@localhost \~# dnf install tar xz -y

看到Complete!就安装成功
3.接下来就是安装MySQL
root@localhost \~# groupadd -g 27 -r mysql #增加组
root@localhost \~# useradd -u 27 -g 27 -c 'MySQL Server' -r -s /sbin/nologin mysql #增加用户
root@localhost \~# tar xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz -C /usr/local/ #对MySQL软件包进行解压
root@localhost \~# ln -sv /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64/ /usr/local/mysql
#进行软链接
root@localhost \~# cd /usr/local/mysql #进入/usr/local/mysql 的目录下
root@localhost mysql# mkdir mysql-files #创建mysql-files目录
root@localhost mysql# chown mysql:mysql mysql-files #给mysql-files 文件所有者和所有组的权限
root@localhost mysql# chmod 750 mysql-files #更改mysql-files权限
root@localhost mysql# bin/mysqld --initialize --user=mysql #进行初始化操作
root@localhost mysql# bin/mysql_ssl_rsa_setup #生成一对密钥对
root@localhost mysql# bin/mysqld_safe --user=mysql & #命令行启动指令
注意:进行初始化操作之后的最下面的:后面是密码

4.配置环境变量
root@localhost mysql# vim /etc/profile.d/mysql.sh #进入/etc/profile.d/mysql.sh编辑内容
export PATH=$PATH:/usr/local/mysql/bin/(这是在/etc/profile.d/mysql.sh编辑的内容)
root@localhost mysql# source /etc/profile.d/mysql.sh #下次登入生效,在当前起作用
root@localhost mysql# yum install ncurses-compat-libs #下载ncurses-compat-libs
5.登入并修改密码
root@localhost mysql# mysql -uroot -p'wX,qixkXk8<y' 登录
mysql> alter user root@localhost identified by 'MySQL@123'; #修改密码
6.停止服务脚本
root@localhost mysql# mysqladmin -uroot -p'MySQL@123' shutdown #停止服务
root@localhost mysql# cp support-files/mysql.server /etc/init.d/mysqld #提供脚本
root@localhost mysql# chkconfig --add mysqld #切换系统服务
7.提供配置文件
root@mysql \~# scp /etc/my.cnf 192.168.203.130:/etc/
root@mysql \~# scp -r /etc/my.cnf 192.168.203.130:/etc/
注意:这里是用已装有MySQL的/etc/my.cnf来进行拷贝(IP地址是你一直在使用的机子)
8.进入/etc/my.cnf进行配置
root@localhost mysql# vi /etc/my.cnf
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
9.重启mysql以及验证
root@localhost mysql# systemctl start mysqld
root@localhost mysql# systemctl status mysqld

root@localhost mysql# mysql -uroot -pMySQL@123 #登入验证

root@localhost mysql# systemctl stop mysqld #停止验证
root@localhost mysql# systemctl status mysqld

第二个实验步骤:
备份数据库,备份数据库school到/backup目录
1.创建一个数据库,并插入一些数据
mysql> create database school;
Query OK, 1 row affected (0.01 sec)
mysql> use school
Database changed
mysql> CREATE TABLE student (
-> id INT(10) NOT NULL UNIQUE PRIMARY KEY,
-> name VARCHAR(20) NOT NULL,
-> sex VARCHAR(4),
-> birth YEAR,
-> department VARCHAR(30),
-> address VARCHAR(50)
-> );
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> INSERT INTO student VALUES( 901,'张老大', ' 男',1985,'计算机系', '北京市海淀区');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO student VALUES( 1002,'张三', ' 男',1986,'中文系', '
北京市昌平区') ;
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');
Query OK, 1 row affected (0.00 sec)
2.备份数据库school到/backup目录
root@localhost mysql# mkdir /backup
root@localhost mysql# cd /backup
root@localhost backup# mysqldump --opt -B -uroot -p school > school.sql
Enter password: #密码是MySQL的密码
root@localhost backup# ll

第三个实验步骤:
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
root@localhost backup# mysqldump -u root -p -B school --set-gtid-purged=OFF > /backup/school_`date +%F`.sql
Enter password:
root@localhost backup# ll

第四个实验步骤:
直接将MySQL数据库压缩备份
root@localhost backup# mysqldump -u root -p -B -A --set-gtid-purged=OFF | gzip > /backup/totle_`date +%F`.sql.gz
Enter password:
root@localhost backup# ll
