Skip to content

数据库命令 备份还原

Dof
1

run,stop

执行命令

逻辑备份还原

1. 原服务器执行备份

mysqldump -ugame -p'uu5!^%jg' --all-databases --triggers --routines --events > a.sql

2. 迁移备份文件

将 a.sql 下载,上传至新服务器

3. 新服务器执行还原

mysql -ugame -p'uu5!^%jg' < a.sql

如果是XAMPP 集成环境务必使用,以上命令加前缀/opt/lampp/bin/

/opt/lampp/bin/mysql -ugame -p'uu5!^%jg' < a.sql

物理备份还原

停止数据库
systemctl stop mysqld
确认状态
systemctl status mysqld
看到 inactive (dead) 就代表完全关闭,可以开始备份还原 /var/lib/mysql,

直接下载上传覆盖,改权限

一些其他命令

查询数据库账户

root账户是否存在查询

mysql -ugame -p

SELECT user,host FROM mysql.user WHERE user='root';

输出empty,标识无root

数据库查询所有账户,按字母排序

SELECT user,host FROM mysql.user ORDER BY user,host;

查询数据库服务

第一步:先尝试停止 mariadb(最高概率)
systemctl stop mariadb

第二步:查看当前存在的数据库服务,确认名字
systemctl list-unit-files | grep -E 'mysql|mariadb'

补充排查:看看有没有 mysqld 进程在运行
ps -ef | grep mysqld

进入数据库程序,以下2个命令一样

mysql -ugame -p

mysql -u game -p

可以直接带密码

mysql -ugame -p'uu5!^%jg'

修改密码

SET PASSWORD FOR 'game'@'%' = PASSWORD('uu5!^%jg');
FLUSH PRIVILEGES;