shell脚本备份数据库

首先是在本地windows环境下尝试备份数据库

打开mysql的bin目录,然后在地址栏cmd,进入cmd界面,输入mysqldump命令,-u输入用户名,-p输入密码 还有数据库名称,以及后面要保存到的位置

java 复制代码
mysqldump -uroot -p test > /backup/mysqldump/test.db

卸载掉CentOS自带数据库:

检查centos是否自带数据库:

java 复制代码
rpm -qa | grep mariadb

卸载centos下已安装数据库:

java 复制代码
rpm -e --nodeps mariadb-libs

准备下载安装包:

进入指定目录:

java 复制代码
cd /usr/local/src

下载mysql8

java 复制代码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

之后通过xz和tar命令解压压缩文件:

java 复制代码
xz -d mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
java 复制代码
tar xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar

将/usr/local/src下的mysql-8.0.20-linux-glibc2.12-x86_64文件夹内容移动到/usr/local/mysql下,此目录用于存放mysql:

java 复制代码
mkdir /usr/local/mysql
java 复制代码
mv /usr/local/src/mysql-8.0.20-linux-glibc2.12-x86_64/* /usr/local/mysql
java 复制代码
cd /usr/local/mysql

创建用户组和密码,进行授权:

java 复制代码
groupadd mysql
java 复制代码
useradd -g mysql mysql
java 复制代码
chown -R mysql.mysql /usr/local/mysql

编写MySQL的配置文件:

编辑配置文件:

java 复制代码
vim /etc/my.cnf

按i进入修改模式,将下面内容进行复制,按esc,:wq进行 保存退出

进入到bin目录下,进行初始化信息:

java 复制代码
cd bin
java 复制代码
./mysqld --initialize

初始化信息之后会有数据库临时密码,在下图红框标的部分

添加mysqld服务到系统:

java 复制代码
cd ..
java 复制代码
cp -a ./support-files/mysql.server /etc/init.d/mysql

将mysql.server复制到该路径,用于将其作为服务启动脚本,用来管理mysql的运行状态

设置MySQL服务器作为系统服务并自启动

java 复制代码
chmod +x /etc/init.d/mysql

为文件提供可执行权限,运行该脚本启动MYSQL服务

java 复制代码
chkconfig --add mysql

将MySQL服务器添加到系统的服务列表中

启动MySQL:

java 复制代码
service mysql start

创建软链接,将mysql添加到系统服务中:

java 复制代码
ln -s /usr/local/mysql/bin/mysql /usr/bin

登录mysql(密码在上面的临时密码):

java 复制代码
mysql -uroot -p

更改root用户密码:

java 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

刷新授权表:

java 复制代码
flush privileges;

更改root连接权限,设置root用户可以从任意主机连接到服务器:

java 复制代码
use mysql;
java 复制代码
update user set host='%' where user = 'root';
java 复制代码
flush privileges;

完成,退出即可,可以用ssh连接工具进行连接

相关推荐
IvorySQL21 分钟前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king3 小时前
入门 java 和 数据库
java·数据库·后端
jiayou647 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData18 小时前
NineData 迁移评估功能正式上线
数据库·dba
NineData1 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石1 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_2 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou643 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤4 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库