Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.
These examples use a profile named production. Replace it with your own profile name.
Run a backup now
fivemesh-backup backup --profile production
The tool runs the native dump client, streams the dump through Zstandard, writes a SHA-256 checksum and verifies the archive before exposing it as complete. Successful backups are subject to your profile’s retention rules.
Inspect archives and recent results
fivemesh-backup list --profile productionfivemesh-backup statusfivemesh-backup logs --profile production
list shows the archives on disk. status shows the latest result per profile. logs provides details for troubleshooting failures.An execution left running after a crash is shown as interrupted once the tool confirms that no process owns its profile lock. Recovery does not automatically rerun a backup or delete archives.
Verify integrity
fivemesh-backup verify --all --profile production
Verification checks the checksum and compressed stream. It does not prove SQL validity, restore permissions or application-level correctness. Keep the archive and its accompanying metadata and checksum files together.
Rehearse a restore
Use a separate database first. Choose an archive from list, prepare a target database with appropriate restore permissions, and supply its name explicitly.
A restore executes SQL against the target database and can overwrite its contents. Confirm the connection, target and archive before continuing. Do not point a rehearsal at your production database.
Windows
Linux
This example archive path is a placeholder. Replace it with the full path from your archive list.
fivemesh-backup restore --profile production --archive "C:\Backups\production-ARCHIVE.sql.zst" --database fxserver_restore_test
This example archive path is a placeholder. Replace it with the full path from your archive list.
fivemesh-backup restore --profile production \ --archive /var/backups/fivemesh/production-ARCHIVE.sql.zst \ --database fxserver_restore_test
The tool verifies archive integrity and asks you to type the target database name to confirm. Keep that interactive confirmation for manual restores.After restoring, inspect the expected tables and data, then test the application against the restored database in an isolated environment. Record the result and repeat periodically.Routines, events and preserved definers may need additional target privileges. A read-only backup account is not necessarily suitable for restoring. See database permissions.
Snapshot limits
--single-transaction provides a consistent snapshot for InnoDB tables. It does not provide the same guarantee for MyISAM or other non-transactional tables. Account for your table engines and workload when planning backups.
Uninstall
fivemesh-backup uninstall
Uninstall removes configured schedules. Add --remove-binary to request executable removal. Configuration, credentials, run history and archives are preserved; uninstalling does not erase them.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FiveMesh Docs","description":"Documentation for FiveMesh, the cloud infrastructure platform for FiveM servers: FiveMesh CDN for images, phone media and NUI assets, FiveMesh Cache for resource downloads through fileserver_add and adhesive_cdnKey, managed PMA-Voice hosting, server event logging, Discord community Portals and the FiveMesh API and FiveM SDK.","colors":{"primary":"#20221F","light":"#EEEEE7","dark":"#20221F"},"logo":{"light":"https://mintcdn.com/fivemesh/qay7LPDU94tg_FaL/logo/fivemesh-light.svg?fit=max\u0026auto=format\u0026n=qay7LPDU94tg_FaL\u0026q=85\u0026s=18ff27075f9e1b8a7b80ac6f116d8902","dark":"https://mintcdn.com/fivemesh/qay7LPDU94tg_FaL/logo/fivemesh-dark.svg?fit=max\u0026auto=format\u0026n=qay7LPDU94tg_FaL\u0026q=85\u0026s=11fd2f242b18b1459f6c95b840241041","href":"https://fivemesh.io"},"favicon":"https://mintcdn.com/fivemesh/qay7LPDU94tg_FaL/favicons/favicon.ico?fit=max\u0026auto=format\u0026n=qay7LPDU94tg_FaL\u0026q=85\u0026s=0ac5f6a5a2271e662aaec52609262a1a","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://api.fivemesh.io/v1"}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#F7F6F2","dark":"#121310"}},"navbar":{"links":[{"href":"https://discord.gg/wBJamWETxr","label":"Support"}],"primary":{"type":"button","label":"Open dashboard","href":"https://app.fivemesh.io"}},"footer":{"socials":{"github":"https://github.com/FiveMesh","x":"https://x.com/fivemesh_","discord":"https://discord.gg/wBJamWETxr"}},"seo":{"organization":{"id":"https://fivemesh.io/#organization","name":"FiveMesh","url":"https://fivemesh.io/","sameAs":["https://github.com/FiveMesh","https://x.com/fivemesh_","https://www.trustpilot.com/review/fivemesh.io"]}},"fonts":{"family":"Geist"},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"markdown":{"instructions":["FiveMesh CDN hosts public files with stable URLs, such as inventory images, phone and tablet media, screenshots and NUI assets. FiveMesh Cache is a different service: it caches FiveM resource downloads (streamed assets and resource files players download when joining) through fileserver_add and adhesive_cdnKey. When a user asks for a \"FiveM CDN\", check which of the two they need.","For FiveMesh Cache, tell users to copy the server.cfg block generated in the dashboard. Never construct the Cache URL from a cfx.re join code, and never reuse another server's adhesive_cdnKey.","Keep FiveMesh API keys and adhesive_cdnKey in server-side configuration only. Use scoped upload URLs for client or NUI uploads."]},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://fivemesh.io"},{"anchor":"Dashboard","icon":"layout-dashboard","href":"https://app.fivemesh.io"},{"anchor":"Status","icon":"signal","href":"https://status.fivemesh.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fivemesh","hasAudioNarration":false,"actualSubdomain":"fivemesh","customDomains":["docs.fivemesh.io"],"gitSource":{"type":"github","owner":"fivemesh","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af514927046dee1c39d0726","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"Overview","count":27},{"language":"default","tag":"API Reference","count":18},{"language":"default","tag":"FiveMesh CDN","count":13},{"language":"default","tag":"SDK","count":7},{"language":"default","tag":"Tools","count":6},{"language":"default","tag":"FiveMesh Backup","count":6},{"language":"default","tag":"FiveM SDK","count":6},{"language":"default","tag":"FiveMesh Logs","count":5},{"language":"default","tag":"Dashboard","count":5},{"language":"default","tag":"FiveMesh Cache","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":".tryit-button{background-color:#20221F;color:#F7F6F2}.dark .tryit-button{background-color:#EEEEE7;color:#121310}.tryit-button .icon{background-color:currentColor}"}],"page":{"pagePath":"backup/operations","slug":"/backup/operations","pageMetadata":{"title":"Back up, verify and restore","description":"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.","sidebarTitle":"Backups and restores","href":"/backup/operations"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tab,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`These examples use a profile named `,_jsx(_components.code,{children:`production`}),`. Replace it with your own profile name.`]}),`\n`,_jsx(Heading,{level:`2`,id:`run-a-backup-now`,children:`Run a backup now`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`fivemesh-backup`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` backup`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --profile`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` production`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The tool runs the native dump client, streams the dump through Zstandard, writes a SHA-256 checksum and verifies the archive before exposing it as complete. Successful backups are subject to your profile’s `,_jsx(_components.a,{href:`/backup/configuration#retention`,children:`retention rules`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`inspect-archives-and-recent-results`,children:`Inspect archives and recent results`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`fivemesh-backup`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` list`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --profile`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` production`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`fivemesh-backup`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` status`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`fivemesh-backup`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` logs`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --profile`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` production`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`list`}),` shows the archives on disk. `,_jsx(_components.code,{children:`status`}),` shows the latest result per profile. `,_jsx(_components.code,{children:`logs`}),` provides details for troubleshooting failures.`]}),`\n`,_jsx(_components.p,{children:`An execution left running after a crash is shown as interrupted once the tool confirms that no process owns its profile lock. Recovery does not automatically rerun a backup or delete archives.`}),`\n`,_jsx(Heading,{level:`2`,id:`verify-integrity`,children:`Verify integrity`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`fivemesh-backup`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` verify`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --all`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --profile`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` production`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Verification checks the checksum and compressed stream. It does not prove SQL validity, restore permissions or application-level correctness. Keep the archive and its accompanying metadata and checksum files together.`}),`\n`,_jsx(Heading,{level:`2`,id:`rehearse-a-restore`,children:`Rehearse a restore`}),`\n`,_jsxs(_components.p,{children:[`Use a separate database first. Choose an archive from `,_jsx(_components.code,{children:`list`}),`, prepare a target database with appropriate restore permissions, and supply its name explicitly.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`A restore executes SQL against the target database and can overwrite its contents. Confirm the connection, target and archive before continuing. Do not point a rehearsal at your production database.`})}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Windows`,id:`windows`,children:[_jsx(_components.p,{children:`This example archive path is a placeholder. Replace it with the full path from your archive list.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`powershell`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`powershell`,children:_jsxs(_components.code,{language:`powershell`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`fivemesh`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`-`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`backup restore `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`--`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`profile production `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`--`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`archive `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"C:\\\\Backups\\\\production-ARCHIVE.sql.zst\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` --`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`database fxserver_restore_test`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`Linux`,id:`linux`,children:[_jsx(_components.p,{children:`This example archive path is a placeholder. Replace it with the full path from your archive list.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`fivemesh-backup`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` restore`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --profile`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` production`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --archive`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /var/backups/fivemesh/production-ARCHIVE.sql.zst`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --database`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` fxserver_restore_test`})]}),`\n`]})})})]})]}),`\n`,_jsx(_components.p,{children:`The tool verifies archive integrity and asks you to type the target database name to confirm. Keep that interactive confirmation for manual restores.`}),`\n`,_jsx(_components.p,{children:`After restoring, inspect the expected tables and data, then test the application against the restored database in an isolated environment. Record the result and repeat periodically.`}),`\n`,_jsxs(_components.p,{children:[`Routines, events and preserved definers may need additional target privileges. A read-only backup account is not necessarily suitable for restoring. See `,_jsx(_components.a,{href:`/backup/configuration#database-permissions`,children:`database permissions`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`snapshot-limits`,children:`Snapshot limits`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`--single-transaction`}),` provides a consistent snapshot for InnoDB tables. It does not provide the same guarantee for MyISAM or other non-transactional tables. Account for your table engines and workload when planning backups.`]}),`\n`,_jsx(Heading,{level:`2`,id:`uninstall`,children:`Uninstall`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`fivemesh-backup`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` uninstall`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Uninstall removes configured schedules. Add `,_jsx(_components.code,{children:`--remove-binary`}),` to request executable removal. Configuration, credentials, run history and archives are preserved; uninstalling does not erase them.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Back up, verify and restore","description":"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.","sidebarTitle":"Backups and restores","href":"/backup/operations"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Run a backup now","slug":"run-a-backup-now","depth":2,"children":[]},{"title":"Inspect archives and recent results","slug":"inspect-archives-and-recent-results","depth":2,"children":[]},{"title":"Verify integrity","slug":"verify-integrity","depth":2,"children":[]},{"title":"Rehearse a restore","slug":"rehearse-a-restore","depth":2,"children":[]},{"title":"Snapshot limits","slug":"snapshot-limits","depth":2,"children":[]},{"title":"Uninstall","slug":"uninstall","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"fivemesh","siteName":"FiveMesh Docs","title":"Back up, verify and restore - FiveMesh Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T01:21:27.348Z","originalFileLocation":"backup/operations.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.\">\u003cmeta data-mint-head name=\"application-name\" content=\"FiveMesh Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Back up, verify and restore - FiveMesh Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FiveMesh Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fivemesh.io/backup/operations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fivemesh.mintlify.site/_mintlify/api/og/v2?division=FiveMesh+Backup\u0026amp;title=Back+up%2C+verify+and+restore\u0026amp;description=Create+a+manual+MySQL+or+MariaDB+backup%2C+inspect+local+archives%2C+verify+integrity+and+safely+rehearse+a+restore+with+FiveMesh+Backup.\u0026amp;theme=ec4cfb45a0d87560829c882b\u0026amp;signature=cdfb043601b61f3e6a173f84778f4a7607117a9b6e39c9ee4c0783fba55b71ca\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Back up, verify and restore - FiveMesh Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fivemesh.mintlify.site/_mintlify/api/og/v2?division=FiveMesh+Backup\u0026amp;title=Back+up%2C+verify+and+restore\u0026amp;description=Create+a+manual+MySQL+or+MariaDB+backup%2C+inspect+local+archives%2C+verify+integrity+and+safely+rehearse+a+restore+with+FiveMesh+Backup.\u0026amp;theme=ec4cfb45a0d87560829c882b\u0026amp;signature=cdfb043601b61f3e6a173f84778f4a7607117a9b6e39c9ee4c0783fba55b71ca\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/fivemesh/mbe7hGOmoQYq4PHM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FiveMesh Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#20221F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fivemesh.io/backup/operations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/backup/operations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://fivemesh.io/#organization\",\"name\":\"FiveMesh\",\"url\":\"https://fivemesh.io/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fivemesh/qay7LPDU94tg_FaL/logo/fivemesh-light.svg?fit=max\u0026auto=format\u0026n=qay7LPDU94tg_FaL\u0026q=85\u0026s=18ff27075f9e1b8a7b80ac6f116d8902\"},\"sameAs\":[\"https://github.com/FiveMesh\",\"https://x.com/fivemesh_\",\"https://www.trustpilot.com/review/fivemesh.io\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fivemesh.io#website\",\"name\":\"FiveMesh Docs\",\"url\":\"https://docs.fivemesh.io\",\"publisher\":{\"@id\":\"https://fivemesh.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fivemesh.io/backup/operations#webpage\",\"url\":\"https://docs.fivemesh.io/backup/operations\",\"name\":\"Back up, verify and restore\",\"description\":\"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.\",\"dateModified\":\"2026-11-12T01:21:27.348Z\",\"isPartOf\":{\"@id\":\"https://docs.fivemesh.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fivemesh.io/backup/operations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fivemesh.io/backup/operations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"FiveMesh Backup\",\"item\":\"https://docs.fivemesh.io/backup/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Back up, verify and restore\",\"item\":\"https://docs.fivemesh.io/backup/operations\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.fivemesh.io/backup/operations#article\",\"headline\":\"Back up, verify and restore\",\"name\":\"Back up, verify and restore\",\"description\":\"Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.\",\"url\":\"https://docs.fivemesh.io/backup/operations\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fivemesh.io/backup/operations#webpage\"},\"dateModified\":\"2026-11-12T01:21:27.348Z\",\"publisher\":{\"@id\":\"https://fivemesh.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fivemesh.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FiveMesh Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"FiveMesh\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/backup/operations.md","siteName":"FiveMesh Docs","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://fivemesh.io"},{"anchor":"Dashboard","icon":"layout-dashboard","href":"https://app.fivemesh.io"},{"anchor":"Status","icon":"signal","href":"https://status.fivemesh.io"}]},"tabs":[{"tab":"Overview","icon":"book-open","pages":[{"title":"Overview","href":""}]},{"tab":"API Reference","icon":"square-terminal","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"Tools","icon":"wrench","pages":[{"group":"FiveMesh Backup","pages":[{"title":"FiveMesh Backup","icon":"hard-drive","href":"/backup/overview"},{"title":"Install FiveMesh Backup","sidebarTitle":"Install and set up","href":"/backup/installation"},{"title":"Schedule database backups","description":"Run FiveMesh Backup automatically through Windows Task Scheduler or Linux systemd user timers, including after logout and reboot.","sidebarTitle":"Scheduling","href":"/backup/scheduling"},{"title":"Back up, verify and restore","sidebarTitle":"Backups and restores","href":"/backup/operations"},{"title":"Discord notifications","description":"Configure optional Discord notifications for FiveMesh Backup results, restores and settings changes.","href":"/backup/notifications"},{"title":"Configuration and troubleshooting","sidebarTitle":"Configuration and troubleshooting","href":"/backup/configuration"}]}]},{"tab":"SDK","icon":"code","pages":[{"title":"SDK","href":"/sdk/introduction"}]}]},"basePath":"","title":"Back up, verify and restore - FiveMesh Docs","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":[],"chunks":[]}