目录
[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
root@localhost mysql\]# mysql -uroot -p'wX,qixkXk8\
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
