|
| 1 | +## 卸载 |
| 2 | +当要求 dbm-agent 支持卸载 MySQL 服务的时候,它会把关闭服务、备份 binlog 目录、备份 datadir 目录,现在用一个例子给大家介绍一下卸载操作。 |
| 3 | + |
| 4 | +1、卸载前我们测试机器上有 3308、3309 两个 master 。 |
| 5 | +```bash |
| 6 | + |
| 7 | +ps -ef | grep mysql |
| 8 | +mysql33+ 802 1 0 Jun15 ? 00:16:19 /usr/local/mysql-8.0.33-linux-glibc2.28-x86_64/bin/mysqld --defaults-file=/etc/my-3309.cnf |
| 9 | +mysql33+ 712456 1 0 Jun17 ? 00:10:14 /usr/local/mysql-8.0.33-linux-glibc2.28-x86_64/bin/mysqld --defaults-file=/etc/my-3308.cnf |
| 10 | + |
| 11 | +ll /database/mysql/data/ |
| 12 | +drwxr-xr-x 7 mysql3308 mysql 4096 Jun 17 23:26 3308 |
| 13 | +drwxr-xr-x 7 mysql3309 mysql 4096 Jun 15 22:36 3309 |
| 14 | +``` |
| 15 | + |
| 16 | +2、执行卸载操作,卸载对于 dbm-agent 来说也是一行命令解决 |
| 17 | +```bash |
| 18 | +dbma-cli-mysql --port=3309 uninstall |
| 19 | + |
| 20 | +[2023-06-21 17:37:01,420 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 598 line] ~ starts uninstall_mysql . |
| 21 | +[2023-06-21 17:37:01,420 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 267 line] ~ starts stop_mysql . |
| 22 | +[2023-06-21 17:37:01,420 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 275 line] ~ excute cmd 'systemctl stop mysqld-3309' . |
| 23 | +[2023-06-21 17:37:02,345 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 280 line] ~ ends stop_mysql . |
| 24 | +[2023-06-21 17:37:02,345 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 200 line] ~ starts disable_systemd_for_mysql . |
| 25 | +[2023-06-21 17:37:02,346 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 208 line] ~ excute cmd 'systemctl disable mysqld-3309' . |
| 26 | +[2023-06-21 17:37:02,503 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 214 line] ~ ends disable_systemd_for_mysql . |
| 27 | +[2023-06-21 17:37:02,504 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 375 line] ~ starts backup_config_file . |
| 28 | +[2023-06-21 17:37:02,504 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 387 line] ~ move '/etc/my-3309.cnf' to '/database/mysql/data/3309/my-3309.cnf-backup-2023-06-21T17-37-02-504613' |
| 29 | +[2023-06-21 17:37:02,505 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 393 line] ~ ends backup_config_file . |
| 30 | +[2023-06-21 17:37:02,506 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 341 line] ~ starts backup_dirs . |
| 31 | +[2023-06-21 17:37:02,506 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 357 line] ~ ends backup_dirs . |
| 32 | +[2023-06-21 17:37:02,507 INFO] - [MainThread] - [/usr/local/python/lib/python3.11/site-packages/dbma/components/mysql/install.py 611 line] ~ ends uninstall_mysql . |
| 33 | +``` |
| 34 | + |
| 35 | +3、卸载后的检查 |
| 36 | +```sql |
| 37 | +ps -ef | grep mysql |
| 38 | +mysql33+ 712456 1 0 Jun17 ? 00:10:14 /usr/local/mysql-8.0.33-linux-glibc2.28-x86_64/bin/mysqld --defaults-file=/etc/my-3308.cnf |
| 39 | + |
| 40 | +ll /database/mysql/data/ |
| 41 | +drwxr-xr-x 7 mysql3308 mysql 4096 Jun 17 23:26 3308 |
| 42 | +drwxr-xr-x 7 mysql3309 mysql 4096 Jun 21 17:37 3309-backup-2023-06-21T17-37-02-506331 |
| 43 | +``` |
| 44 | +默认情况下生成的 backup 文件 `3309-backup-2023-06-21T17-37-02-506331`, dbm-agent 会为你保留 3 天,3 天过后后台线程会去慢慢的清理它(一次最多清理 16MB)。 |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +4、这个功能也支持 http 接口 |
| 49 | +```bash |
| 50 | +curl --request POST --header "Content-type:application/json;charset=utf-8" \ |
| 51 | + --data '{"port":3309}' \ |
| 52 | + http://127.0.0.1:8086/apis/mysqls/uninstall 2>/dev/null | jq |
| 53 | + |
| 54 | +{ |
| 55 | + "message": "uninstall mysql complete .", |
| 56 | + "error": "", |
| 57 | + "data": null |
| 58 | +} |
| 59 | +``` |
| 60 | +--- |
0 commit comments