{"id":241257,"date":"2023-02-28T08:55:14","date_gmt":"2023-02-28T15:55:14","guid":{"rendered":"https:\/\/virtual-dba.com\/?p=241257"},"modified":"2023-04-13T14:29:42","modified_gmt":"2023-04-13T21:29:42","slug":"mysql-user-info-limitations-and-possibilities","status":"publish","type":"post","link":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/","title":{"rendered":"Getting MySQL User Info: Limitations and Possibilities"},"content":{"rendered":"\n<p>A client recently asked me if I could get the hostname or IP address of every server a MySQL user was using to connect for the past 30 days. I never thought of retrieving login information retrospectively. I wasn&#8217;t sure if I could. Spoiler alert: it is only possible if the audit log plugin is installed, which is available for MySQL Enterprise 5.6, 5.7, or 8.0. (Instructions on audit log installation, configuration, and filtering information can be found in the&nbsp;<a target=\"_blank\" href=\"https:\/\/dev.mysql.com\/doc\/refman\/5.6\/en\/audit-log.html\" rel=\"noreferrer noopener\">MySQL Reference Manual<\/a>.) Unfortunately, this client ran an older version of MySQL Enterprise, and the audit log plugin was not installed.&nbsp;<\/p>\n\n\n\n<p>If you are running MySQL Community versions or MySQL Enterprise 5.5, your options for obtaining user information are limited. This blog covers what user data can be obtained and how a user log can be created.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MySQL User Info: Getting Basic Information<\/h2>\n\n\n\n<p>The query below will return the user&#8217;s name, host, and privileges. You will also get security and resource control specifications for the user. After MySQL 5.7, you can also determine the last time the password was changed.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; select * from mysql.user where user = 'user_name';<\/code><\/pre>\n\n\n\n<p>Although I got a lot of information from running this query, I didn&#8217;t get the hostname or IP address that the specific user used to connect because the user&#8217;s host was created with the wildcard %. Using the wildcard for the hostname would allow the user to login from various IP addresses. Now what?<\/p>\n\n\n\n<p>There were two other options: 1) looking at the general log (if enabled) and 2) the process list if they were logged in. Both options have limitations. The general log is usually rotated frequently, meaning it will show login history for a day at the most. In this particular scenario, every 5 minutes. Not ideal, but the processlist only shows users that are currently logged in. Without knowing when the user would be logging in, I would have to query the processlist multiple times a day in hopes of &#8220;catching&#8221; them. Despite the limitations, assessing the information was a stepping stone to the solution.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MySQL User Info: Getting Past Login Information From The General Log<\/h2>\n\n\n\n<p>The general log will record when a client connects or disconnects to the server when enabled. The output can be a table or a file (default), which is determined by the <code>log_output<\/code> system variable. Either format will increase in size as much as the activity of the database. Therefore, this file will grow quickly if the database is very active. Hence, the reason for the rotation frequency and not being enabled by default.&nbsp;<\/p>\n\n\n\n<p>The following query can be used if the general log is in table format. It will return the event time, user, hostname, thread ID, server ID, command type, and argument of all logged connections. You can read more about the general log in the&nbsp;<a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/query-log.html\" target=\"_blank\" rel=\"noreferrer noopener\">MySQL Reference Manual<\/a>.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; select * from mysql.general_log where command_type = 'Connect';<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">MySQL User Info: Getting Current Login Information From The Processlist Table<\/h2>\n\n\n\n<p>The <code>PROCESSLIST<\/code> is a table in the <code>INFORMATION_SCHEMA<\/code> database. You need the <code>PROCESS<\/code> privilege to access the table. The query below will return the thread ID, user, hostname, the database being used, the type of command the user was executing, the seconds the session has been connected, the state of the thread, and the value of a <code>SELECT<\/code> statement (if executed). For more information, check out the&nbsp;<a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/information-schema-processlist-table.html\" target=\"_blank\" rel=\"noreferrer noopener\">MySQL Reference Manual<\/a>.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql&gt; select * from information_schema.processlist where user = 'user_name';<\/code><\/pre>\n\n\n\n<p>This would give me the exact hostname of the server that the user was connecting from. However, the user has to be logged in at the same time. I would not get a history of previous logins. The client wanted to know the host name to which the user was connecting over time. Now what? I told the client I could not get a history but could create a cronjob and script that queried the <code>INFORMATION_SCHEMA.PROCESSLIST<\/code> every 15 minutes. It was tricky to create a script that returned specific information only when the user was logged in, which I will go into more detail in the next blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A client recently asked me if I could get the hostname or IP address of every server a MySQL user was using to connect for the past 30 days. I never thought of retrieving login information retrospectively. I wasn&#8217;t sure if I could. Spoiler alert: it is only possible if the audit log plugin is [&hellip;]<\/p>\n","protected":false},"author":49,"featured_media":241383,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[4166,39],"tags":[4086,40],"class_list":["post-241257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-mysql","tag-databases","tag-mysql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Getting MySQL User Info: Limitations and Possibilities - Virtual-DBA<\/title>\n<meta name=\"description\" content=\"This blog covers what MySQL user information can be obtained and how a user log can be created.\u00a0Can you retrieve login info retrospectively?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting MySQL User Info: Limitations and Possibilities\" \/>\n<meta property=\"og:description\" content=\"This blog covers what MySQL user information can be obtained and how a user log can be created.\u00a0Can you retrieve login info retrospectively?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-28T15:55:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-13T21:29:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"557\" \/>\n\t<meta property=\"og:image:height\" content=\"291\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Monica Silva\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:site\" content=\"@virtual_dba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Monica Silva\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/\"},\"author\":{\"name\":\"Monica Silva\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da\"},\"headline\":\"Getting MySQL User Info: Limitations and Possibilities\",\"datePublished\":\"2023-02-28T15:55:14+00:00\",\"dateModified\":\"2023-04-13T21:29:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/\"},\"wordCount\":661,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg\",\"keywords\":[\"databases\",\"mysql\"],\"articleSection\":[\"Blog\",\"MySQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/\",\"url\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/\",\"name\":\"Getting MySQL User Info: Limitations and Possibilities - Virtual-DBA\",\"isPartOf\":{\"@id\":\"https:\/\/virtual-dba.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg\",\"datePublished\":\"2023-02-28T15:55:14+00:00\",\"dateModified\":\"2023-04-13T21:29:42+00:00\",\"description\":\"This blog covers what MySQL user information can be obtained and how a user log can be created.\u00a0Can you retrieve login info retrospectively?\",\"breadcrumb\":{\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg\",\"width\":557,\"height\":291,\"caption\":\"Getting MySQL User Info- Limitations and Possibilities\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtual-dba.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting MySQL User Info: Limitations and Possibilities\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtual-dba.com\/#website\",\"url\":\"https:\/\/virtual-dba.com\/\",\"name\":\"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts\",\"description\":\"Remote Database Administration\",\"publisher\":{\"@id\":\"https:\/\/virtual-dba.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtual-dba.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/virtual-dba.com\/#organization\",\"name\":\"Virtual-DBA: Remote DBA | Remote Database Administration\",\"alternateName\":\"Virtual-DBA powered by XTIVIA\",\"url\":\"https:\/\/virtual-dba.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"contentUrl\":\"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg\",\"width\":557,\"height\":291,\"caption\":\"Virtual-DBA: Remote DBA | Remote Database Administration\"},\"image\":{\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/virtual_dba\",\"https:\/\/www.linkedin.com\/showcase\/36220649\/\",\"https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg\"],\"description\":\"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.\",\"email\":\"info@xtivia.com\",\"telephone\":\"8886853101\",\"legalName\":\"XTIVIA, Inc\",\"foundingDate\":\"1992-05-01\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"201\",\"maxValue\":\"500\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da\",\"name\":\"Monica Silva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g\",\"caption\":\"Monica Silva\"},\"url\":\"https:\/\/virtual-dba.com\/author\/monica-silva\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Getting MySQL User Info: Limitations and Possibilities - Virtual-DBA","description":"This blog covers what MySQL user information can be obtained and how a user log can be created.\u00a0Can you retrieve login info retrospectively?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/","og_locale":"en_US","og_type":"article","og_title":"Getting MySQL User Info: Limitations and Possibilities","og_description":"This blog covers what MySQL user information can be obtained and how a user log can be created.\u00a0Can you retrieve login info retrospectively?","og_url":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/","og_site_name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","article_published_time":"2023-02-28T15:55:14+00:00","article_modified_time":"2023-04-13T21:29:42+00:00","og_image":[{"width":557,"height":291,"url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg","type":"image\/jpeg"}],"author":"Monica Silva","twitter_card":"summary_large_image","twitter_creator":"@virtual_dba","twitter_site":"@virtual_dba","twitter_misc":{"Written by":"Monica Silva","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#article","isPartOf":{"@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/"},"author":{"name":"Monica Silva","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da"},"headline":"Getting MySQL User Info: Limitations and Possibilities","datePublished":"2023-02-28T15:55:14+00:00","dateModified":"2023-04-13T21:29:42+00:00","mainEntityOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/"},"wordCount":661,"commentCount":0,"publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg","keywords":["databases","mysql"],"articleSection":["Blog","MySQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/","url":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/","name":"Getting MySQL User Info: Limitations and Possibilities - Virtual-DBA","isPartOf":{"@id":"https:\/\/virtual-dba.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage"},"image":{"@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage"},"thumbnailUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg","datePublished":"2023-02-28T15:55:14+00:00","dateModified":"2023-04-13T21:29:42+00:00","description":"This blog covers what MySQL user information can be obtained and how a user log can be created.\u00a0Can you retrieve login info retrospectively?","breadcrumb":{"@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#primaryimage","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/Getting-MySQL-User-Info-Limitations-and-Possibilities.jpg","width":557,"height":291,"caption":"Getting MySQL User Info- Limitations and Possibilities"},{"@type":"BreadcrumbList","@id":"https:\/\/virtual-dba.com\/blog\/mysql-user-info-limitations-and-possibilities\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtual-dba.com\/"},{"@type":"ListItem","position":2,"name":"Getting MySQL User Info: Limitations and Possibilities"}]},{"@type":"WebSite","@id":"https:\/\/virtual-dba.com\/#website","url":"https:\/\/virtual-dba.com\/","name":"Virtual-DBA Remote DBA Services &amp; Support - Certified Database Experts","description":"Remote Database Administration","publisher":{"@id":"https:\/\/virtual-dba.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtual-dba.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/virtual-dba.com\/#organization","name":"Virtual-DBA: Remote DBA | Remote Database Administration","alternateName":"Virtual-DBA powered by XTIVIA","url":"https:\/\/virtual-dba.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/","url":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","contentUrl":"https:\/\/virtual-dba.com\/wp-content\/uploads\/V-DBA-Database-Services-and-Support-Featured-Logo.jpg","width":557,"height":291,"caption":"Virtual-DBA: Remote DBA | Remote Database Administration"},"image":{"@id":"https:\/\/virtual-dba.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/virtual_dba","https:\/\/www.linkedin.com\/showcase\/36220649\/","https:\/\/www.youtube.com\/channel\/UCx3AIeUQ2ziTLKZSJDZ-SEg"],"description":"Eliminate database downtime and spiraling costs with XTIVIA\u2019s Virtual-DBA. In today\u2019s always-on business world, gaps in 24x7 on-call DBA support, neglected maintenance and security, or a stretched team struggling with overwhelming workloads can lead to costly disruptions and threaten business continuity. XTIVIA\u2019s Virtual-DBA provides the immediate, expert database administration you need, exactly when you need it, ensuring optimal performance, ironclad security, and significant cost savings without the burden of expanding your in-house team. The goal of Virtual-DBA is to provide a cost-effective solution for organizations seeking to optimize the security, management, maintenance, availability, and performance of their critical business systems, whether self-managed or cloud-managed (e.g., AWS RDS, Azure SQL Database). We accomplish this through a comprehensive remote DBA service offering designed specifically to meet the Oracle\u00ae, DB2\u00ae, Informix\u00ae, MySQL\u2122, PostgreSQL\u00ae, MongoDB\u00ae, MariaDB, and Microsoft SQL Server\u00ae, CockroachDB, Databricks, AWS, and Azure needs of our clients.","email":"info@xtivia.com","telephone":"8886853101","legalName":"XTIVIA, Inc","foundingDate":"1992-05-01","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"201","maxValue":"500"}},{"@type":"Person","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/9326f6340815aef31d91f56e4ba145da","name":"Monica Silva","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtual-dba.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9af003bf84c81e7a65a1816bc03fa96f866c8d4432b67dec463ef4fbcbe2d65d?s=96&d=mm&r=g","caption":"Monica Silva"},"url":"https:\/\/virtual-dba.com\/author\/monica-silva\/"}]}},"_links":{"self":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/241257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/comments?post=241257"}],"version-history":[{"count":0,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/posts\/241257\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media\/241383"}],"wp:attachment":[{"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/media?parent=241257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/categories?post=241257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtual-dba.com\/wp-json\/wp\/v2\/tags?post=241257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}