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 下载。
参考如图:

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 查看日志存储路径

浙公网安备 33010602011771号