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连接工具进行连接

相关推荐
leegong231114 小时前
PostgreSQL 初中级认证可以一起学吗?
数据库
秋野酱5 小时前
如何在 Spring Boot 中实现自定义属性
java·数据库·spring boot
weisian1516 小时前
Mysql--实战篇--@Transactional失效场景及避免策略(@Transactional实现原理,失效场景,内部调用问题等)
数据库·mysql
AI航海家(Ethan)6 小时前
PostgreSQL数据库的运行机制和架构体系
数据库·postgresql·架构
Kendra9198 小时前
数据库(MySQL)
数据库·mysql
时光书签9 小时前
Mongodb副本集群为什么选择3个节点不选择4个节点
数据库·mongodb·nosql
人才程序员11 小时前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
极客先躯11 小时前
高级java每日一道面试题-2025年01月23日-数据库篇-主键与索引有什么区别 ?
java·数据库·java高级·高级面试题·选择合适的主键·谨慎创建索引·定期评估索引的有效性
指尖下的技术11 小时前
Mysql面试题----MyISAM和InnoDB的区别
数据库·mysql
永远是我的最爱12 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite