首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 系統 MySQL RPM 安裝、備份策略與密碼恢復兩種方案

     編輯:MySQL 資料庫相關知識

RPM 包安裝流程(RedHat 9 光盤)


# 依賴包順序安裝
rpm -ivh perl-CGI-2.81-88.i386.rpm
rpm -ivh perl-DBI-1.32-5.i386.rpm
rpm -ivh perl-DBD-MySQL-2.1021-3.i386.rpm
rpm -ivh mysql-3.23.54a-11.i386.rpm
rpm -ivh mysql-server-3.23.54a-11.i386.rpm
# MySQL 需 Perl 支持,故先裝 Perl 相關包

三種啟動方式

  • service mysql start
  • /etc/init.d/mysqld start
  • safe_mysqld &(後台運行,可加參數)

驗證:service mysqld status 顯示 pid 即運行中。

修改 root 密碼


mysqladmin -u root -p password 'public'
# 提示輸入舊密碼(初始為空直接回車)

備份與恢復實戰


# 邏輯備份
mysqldump -u root -p mysql > mysql.bak
# 查看備份文件大小
ls -lh mysql.bak

# 恢復到新庫
mysql -u root -p
CREATE DATABASE bak;
USE bak;
SOURCE /path/mysql.bak;
# 或命令行
mysql -u root -p bak < mysql.bak

密碼恢復方案一:拷貝已知 user 表文件(需另一實例)

  1. 備份原 /var/lib/mysql/mysql/user.frm/.MYD/.MYI
  2. 拷貝已知密碼實例的三個文件覆蓋
  3. service mysql restart 即可用已知密碼登錄

密碼恢復方案二:跳過權限表啟動(通用)

  1. killall -TERM mysqld 正常停庫
  2. /usr/bin/safe_mysqld --skip-grant-tables &(Linux)
    或 c:\mysql\bin\mysqld --skip-grant-tables(Windows)
  3. 無密碼登錄 mysql -uroot,此時密碼為空
  4. USE mysql; UPDATE user SET password=PASSWORD('newpass') WHERE user='root'; FLUSH PRIVILEGES;
  5. 重啟正常服務,新密碼生效
方案二無需額外實例,適用於單機忘記密碼場景,生產環境操作前務必備份 user 表三文件。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved