+ );
+};
diff --git a/src/webviews/webview-side/integrations/MySQLForm.tsx b/src/webviews/webview-side/integrations/MySQLForm.tsx
new file mode 100644
index 000000000..37903bcba
--- /dev/null
+++ b/src/webviews/webview-side/integrations/MySQLForm.tsx
@@ -0,0 +1,244 @@
+import * as React from 'react';
+import { format, getLocString } from '../react-common/locReactSide';
+import { DatabaseIntegrationConfig } from '@deepnote/database-integrations';
+import { SshOptionsFields } from './SshOptionsFields';
+import { CaCertificateFields } from './CaCertificateFields';
+
+function createEmptyMySQLConfig(params: {
+ id: string;
+ name?: string;
+}): Extract