{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/mysql.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,kOAE5B,IAKMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAC5E,iBAAQ,CACN,GAAM,SADR,SAGA,uEACE,gBAAO,CACL,KAAQ,wCACR,WAAc,KAFhB,eADF,KAMA,mFACA,kFAGA,sBAEE,iBAAQ,CACN,WAAc,MADhB,iEAKA,iBAAQ,CACN,WAAc,MADhB,wCAKA,iBAAQ,CACN,WAAc,MADhB,oBAKA,iBAAQ,CACN,WAAc,MADhB,8GAOF,0CACA,uBAAK,mBAAU,CACX,WAAc,OADb,4E,gOAQTH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-mysql-mdx-82938c39f297c939d0e0.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"mysql\"\n    }}>{`MySQL`}</h2>\n    <p>{`The recommended connector library for MySQL is `}\n      <a {...{\n        \"href\": \"https://pypi.org/project/mysqlclient/\",\n        \"parentName\": \"p\"\n      }}>{`mysqlclient`}</a>\n      {`.`}</p>\n    <p>{`Set up the Connection String using the following settings:`}</p>\n    <p>{`User Name: UserName\nPassword: DBPassword\nDatabase Host:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`For Localhost or docker running Linux: localhost or 127.0.0.1`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`For On Prem: IP address or Host name`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`For AWS Endpoint`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`For Docker running in OSX: docker.for.mac.host.internal\nDatabase Name: Database Name\nPort: default 3306`}</li>\n\n    </ul>\n    <p>{`Connection String`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>\n`}</code></pre>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}