mysql物理备份迁移注意细节_物理拷贝备份mysql到其他机器上恢复
經常會遇到mysql數據要遷徙的情況 ,邏輯導出是可以的 但是就是太慢 第三方工具也同樣可以用 也是操作麻煩,最簡單粗暴的方式就是直接拷貝物理文件來的最快 也很簡單 當然 前提是遠程服務器和目標服務器是相同的文件系統和mysql版本,不然還是沒法這么干的 ,可以參考MySQL數據庫遷移(直接復制文件),參考是參考,還是要動手實踐。
1.拷貝目標數據庫文件 拷貝方式也是很多,可以用ftp,scp,rcp,rsync 參考:linux服務器之間傳輸文件的四種方式,這里我采用rsync
[root@localhost mysql]# service mysqld stop
[root@localhost mysql]# cp -a /var/lib/mysql /home/mysql
*****記得把數據/home/mysql目錄下的ib_logfile(這個有待進一步驗證 最好是操作前做好備份)和.err文件刪除
目標服務器的數據目錄替換 首先停止mysql并對數據目錄進行備份以防止操作失敗能回滾
[root@localhost mysql]# service mysqld stop
[root@localhost mysql]# mv /var/lib/mysql /var/lib/mysql_bak
從源服務器上拷貝備份文件到目標服務器:
[root@localhost lib]# rsync -r /home/mysql
root@192.168.153.44:/var/lib/
root@192.168.153.44's password: skipping non-regular file "mysql/mysql.sock"
不要忘記參數 -r 需要輸入一次拷貝文件的目標服務器密碼 就是192.168.153.44的密碼,拷貝結束去目標服務器上看下文件是不是缺少,查看/var/lib/mysql/文件夾
[root@localhost mysql]# ll -h 總用量 1.6G -rw-rw---- 1 mysql mysql 539 10月 25 16:18 122-55-slow.log -rw-r----- 1 mysql mysql 56 10月 25 16:16 auto.cnf drwx------ 2 mysql mysql 4.0K 10月 25 16:16 cumcmtre drwx------ 2 mysql mysql 71 10月 25 16:16 es -rw-r----- 1 mysql mysql 588M 10月 25 16:18 ibdata1 -rw-rw---- 1 mysql mysql 6 10月 25 16:18 localhost.localdomain.pid -rw-r----- 1 mysql mysql 143 10月 25 16:17 localhost-relay-bin.000001 -rw-r----- 1 mysql mysql 29 10月 25 16:17 localhost-relay-bin.index drwx------ 2 mysql mysql 4.0K 10月 25 16:16 mysql -rw-r----- 1 mysql mysql 270K 10月 25 16:17 mysql-bin.000004 -rw-r----- 1 mysql mysql 214 10月 25 16:17 mysql-bin.000005 -rw-r----- 1 mysql mysql 214 10月 25 16:17 mysql-bin.000006 -rw-r----- 1 mysql mysql 365 10月 25 16:18 mysql-bin.000007 -rw-rw---- 1 mysql mysql 191 10月 25 16:18 mysql-bin.000008 -rw-rw---- 1 mysql mysql 95 10月 25 16:18 mysql-bin.index srwxrwxrwx 1 mysql mysql 0 10月 25 16:18 mysql.sock drwx------ 2 mysql mysql 4.0K 10月 25 16:16 performance_schema -rw-r--r-- 1 mysql mysql 131 10月 25 16:16 RPM_UPGRADE_HISTORY -rw-r--r-- 1 mysql mysql 131 10月 25 16:16 RPM_UPGRADE_MARKER-LAST
我們看到數據文件已經都拷貝過來了
文件權限修改 [root@localhost mysql]# ll 總用量 602436 -rw-r----- 1 root root 56 10月 25 16:16 auto.cnf ... ... -rw-r--r-- 1 root root 131 10月 25 16:16 RPM_UPGRADE_MARKER-LAST
我們看到權限是root組的root用戶,這里我們要授權給MySQL組的mysql用戶
[root@localhost mysql]# chown -R mysql.mysql /var/lib/mysql [root@localhost mysql]# ll 總用量 602436 -rw-r----- 1 mysql mysql 56 10月 25 16:16 auto.cnf ... ... -rw-r--r-- 1 mysql mysql 131 10月 25 16:16 RPM_UPGRADE_MARKER-LAST
修改auto.cnf的server_uuid后啟動mysql 確認文件不缺失 修改auto.cnf的server_uuid 說明下這里是為了搭建主從配置的時候做準備的,如果這兩個服務器以后也是獨立運行 不會有任何主從這種關系可以不配置。
[root@localhost ~]# cd /var/lib/mysql [root@localhost mysql]# ls 103-55.err cumcm ib_logfile0 localhost-relay-bin.000001 mysql-bin.000004 mysql-bin.000007 mysql.sock RPM_UPGRADE_MARKER-LAST 103-55-slow.log es ib_logfile1 localhost-relay-bin.index mysql-bin.000005 mysql-bin.000008 performance_schema auto.cnf ibdata1 localhost.localdomain.pid mysql mysql-bin.000006 mysql-bin.index RPM_UPGRADE_HISTORY [root@localhost mysql]# vim auto.cnf 文件內容: [auto] server-uuid=00d7559a-121b-45cc-a124-5d77df0d46ca
[root@localhost mysql]# service mysqld restart Redirecting to /bin/systemctl restart mysqld.service
啟動mysql
[root@localhost mysql]# service mysqld status Redirecting to /bin/systemctl status mysqld.service mysqld.service - MySQL Percona Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled) Active: inactive (dead) since 四 2018-10-25 16:13:21 CST; 4min 46s ago Process: 21358 ExecStartPost=/usr/bin/mysql-systemd post (code=exited, status=0/SUCCESS) Process: 21357 ExecStart=/usr/bin/mysqld_safe (code=exited, status=0/SUCCESS) Process: 21327 ExecStartPre=/usr/bin/mysql-systemd pre (code=exited, status=0/SUCCESS) Main PID: 21357 (code=exited, status=0/SUCCESS)
10月 25 16:12:36 localhost.localdomain systemd[1]: Starting MySQL Percona Server... 10月 25 16:12:37 localhost.localdomain mysqld_safe[21357]: 181025 16:12:37 mysqld_safe Logging to '/var/lib/mysql/103-55.err'. 10月 25 16:12:37 localhost.localdomain mysqld_safe[21357]: 181025 16:12:37 mysqld_safe Starting mysqld daemon with databases from /.../mysql 10月 25 16:12:44 localhost.localdomain systemd[1]: Started MySQL Percona Server. 10月 25 16:13:19 localhost.localdomain systemd[1]: Stopping MySQL Percona Server... 10月 25 16:13:21 localhost.localdomain mysqld_safe[21357]: 181025 16:13:21 mysqld_safe mysqld from pid file /var/lib/mysql/localhos... ended 10月 25 16:13:21 localhost.localdomain systemd[1]: Stopped MySQL Percona Server. Hint: Some lines were ellipsized, use -l to show in full. [root@localhost mysql]# service mysqld start Redirecting to /bin/systemctl start mysqld.service
啟動完畢 查看文件
[root@localhost mysql]# ll -h 總用量 1.6G -rw-r----- 1 mysql root 105K 10月 25 16:18 104443-55.err ... ... -rw-r--r-- 1 mysql mysql 131 10月 25 16:16 RPM_UPGRADE_MARKER-LAST
我們看到ib_logfile0和.err文件也有了 打開數據庫 沒有任何問題 用戶賬戶就要用遠程服務器的賬戶了 目標服務器的已經被覆蓋。
總結
以上是生活随笔為你收集整理的mysql物理备份迁移注意细节_物理拷贝备份mysql到其他机器上恢复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北汽幻速h2e,导航怎么使用,北汽幻速h
- 下一篇: mysql 事务权限_0428-mysq