mysql备份、卸载、下载安装笔记

1.备份

MySQL数据库备份的命令

# 1、备份db1数据库中所有表(包括表结构和数据,不包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p db1 > xxx.sql

# 2、备份db1数据库中所有表(包括表结构和数据,包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p --databases db1 > xxx.sql

# 3、备份db1数据库中t1、t2、t3表(包括表结构和数据,不包括创建db1数据库的语句)
mysqldump -h192.168.1.10 -uroot -p db1 t1 t2 t3 > xxx.sql

# 4、备份多个(db1、db2)数据库(包括建库语句和所有表的结构和数据)
mysqldump -h192.168.1.10 -uroot -p --databases db1 db2 > xxx.sql

# 5、备份所有数据库(包括建库语句和所有表的结构和数据)
mysqldump -h192.168.1.10 -uroot -p --all-databases > xxx.sql

# 6、备份db1数据库中所有表结构(只包括表结构,加-d参数)
mysqldump -h192.168.1.10 -uroot -p -d db1 > xxx.sql

# 7、备份db1数据库中t1、t2、t3表结构(只包括表结构,加-d参数)
mysqldump -h192.168.1.10 -uroot -p -d db1 t1 t2 t3 > xxx.sql

# 8、备份db1数据库中所有表数据(只包括表数据,加-t参数)
mysqldump -h192.168.1.10 -uroot -p -t db1 > xxx.sql

# 9、备份db1数据库中t1、t2、t3表数据(只包括表数据,加-t参数)
mysqldump -h192.168.1.10 -uroot -p -t db1 t1 t2 t3 > xxx.sql

删除数据库命令

drop database db1;    -- 输入账户名密码后进入数据库,删除db1库

在数据库中执行sql恢复db1

 -- 输入账户名密码后进入数据库,执行备份好的数据库文件xxx.sql,相当于恢复db1的结构和数据(记得找到xxx.sql的准确路径)
 source /home/lfh/xxx.sql;

查看表结构命令

desc 表名;

2.卸载

2.1 如果已安装成功 则需要卸载前请先[关闭Mysql]服务 命令:

service mysql stop

2.2 使用 rpm 命令的方式查看已安装的mysql 命令:

rpm -qa|grep mysql

2.3 使用yum安装的Mysql需要先进行清除 命令:

yum remove mysql mysql-server mysql-libs mysql-server

2.4 再次查询是否有剩余文件 命令:

rpm -qa|grep mysql

2.5 使用过rpm -ev +对应文件名 删除剩余文件 命令:

rpm -ev mysql80-community-release-el7-1.noarch
rpm -ev mysql-community-client-plugins-8.0.25-1.el7.x86_64
rpm -ev mysql-community-common-8.0.25-1.el7.x86_64

2.6 查询是否还存在Mysql相关遗漏文件(有则使用对应删除命令删除)

使用find命令查看mysql文件:

find / -name mysql

清空mysql相关的所有目录和文件

rm -rf 。。--注意每个绝对路径中间用空格隔开

使用whereis命令查看mysql文件

whereis mysql

清空mysql相关的所有目录和文件

rm -rf 。。--注意每个绝对路径中间用空格隔开

3.下载安装

3.1 官网下载一个centOS7的mysql安装包

官网https://dev.mysql.com/downloads/mysql/

选择:根据你服务器的配置选择,我服务器是 CentOS 7 所以 Operating System 选择 Red Hat Enterprise Linux / Oracle Linux ,OS Version 选择 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86,64-bit),选择第一个点击 Download 下载。

参考如图

img

3.2 安装

3.2.1 连上 Linux 服务器(这里的服务器我用的是云服务器),我先创建一个 mysql 的文件夹来存放安装包。

# 在 /soft 目录下创建一个空的文件夹 mysql
mkdir /soft/mysql
# 进入这个新建的文件夹下
cd /soft/mysql

在这里插入图片描述

3.2.2 将安装包上传到 /soft/mysql, 具体上传方式自己视情况而定!!!

在这里插入图片描述

3.3.3 创建文件夹,解压安装包

# 在当前目录下(mysql)下创建一个 mysql-8.0.26 文件夹
mkdir mysql-8.0.26
# 解压安装包到该目录下
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.26

以下是解压后的文件:

在这里插入图片描述

3.3.4 下载 openssl-devel 插件

可以看到解压后的文件都是 rpm 文件,所以需要用到 rpm 包资源管理器相关的指令安装这些 rpm 的安装包

在安装执行 rpm 安装包之前先下载 openssl-devel 插件,因为 mysql 里面有些 rpm 的安装依赖于该插件。

yum install openssl-devel

在这里插入图片描述

3.3.6 安装相关rpm包(按以下顺序)

安装完该插件之后,依次执行以下命令安装这些 rpm 包

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm

rpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

rpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm

注意:安装 rpm 包时提示 依赖检测失败,一般就是缺少相关依赖,可复制错误信息去百度寻求解决方案。记得不要盲目复制百度上的命令,看好版本号是否跟当前安装的mysql的版本号一致。

3.3.7 这种安装方式下的mysql服务的启停命令

在 Linux 中 MySQL 安装好了之后系统会自动的注册一个服务,服务名称叫做 mysqld,所以可以通过以下命令操作 MySQL:

启动 MySQL 服务:systemctl start mysqld

重启 MySQL 服务:systemctl restart mysqld

关闭 MySQL 服务:systemctl stop mysqld

3.3.8 首次登陆服务相关

临时密码

rpm 安装 MySQL 会自动生成一个随机密码,可在 /var/log/mysqld.log 这个文件中查找该密码。

进入该文件找到如下信息:

A temporay password is generated for `root`@localhost: `****密码****` 

这里我安装的 MySQL 生成的临时密码是:JAgc=S-:4fGC,账号是 root,有了账号和密码之后就可以连接 MySQL 了。

修改密码

首次登陆会提示先让你修改密码,默认的密码要求比较复杂,可能包含大小写字母,数字,特殊符号等。

修改密码命令如下(由于是localhost,不允许客户端远程连接):

ALTER  USER  'root'@'localhost'  IDENTIFIED BY 'mike.8080A';

可以修改配置,从而允许使用简单密码:

# 将密码复杂度校验调整简单类型
set global validate_password.policy = 0;
# 设置密码最少位数限制为 4 位
set global validate_password.length = 4;
# 然后再重新修改密码即可
ALTER  USER  'root'@'localhost'  IDENTIFIED BY '123456';

由于是localhost,不允许客户端远程连接,所以可以进行以下操作:

-- 进入mysql数据库:
use mysql;
-- 查看mysql数据库中所有的表:
show tables;
-- 查看user表中的数据:
select Host, User from user;
-- 修改user表中的Host,% 代表任意的客户端,可替换成具体IP地址。
-- update user set Host='%' where User='root';
-- 修改密码,mysql 8.0 以下需要去掉 WITH mysql_native_password
-- ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

-- 最后刷新一下
flush privileges;

权限分配

默认的 root 用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个新的账户,用于远程访问

语法格式:CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>

-- 创建用户与权限分配
# mysql 8.0 以下
create user 'mike'@'%' IDENTIFIED BY 'mike8080';
# mysql 8.0
create user 'mike'@'%' IDENTIFIED WITH mysql_native_password BY 'mike8080';

-- 创建完用户之后还需要给用户分配权限,这里我将 mike 这个用户分配了所有的权限
grant all on *.* to 'mike'@'%';


-- 最后刷新一下
flush privileges;

4.更换日志路径

尽量别换路径,不然存在各种报错,可以设置定时自动清除

4.1 查看日志存储路径

5.更换存储路径

posted @ 2023-06-04 20:36  木糖醇困了  阅读(70)  评论(0)    收藏  举报