Tableau error connecting to local MySQL db - mysql

Windows Server 2008
Tableau Desktop 7.0
Local MySQL database using Xampp
When attempting to connect to a localhost MySQL database server using the native MySQL data connection in Tableau Desktop, I'm getting the following error:
"The connection to the data source might have been lost.
Communication with the Tableau Protocol Server process was lost.
Unable to connect to the server "localhost". Check that the server is running and that you have access privileges to the requested database.
Unable to connect to the server. Check that the server is running and that you have access privileges to the requested database."
When using "Other Databases (ODBC)" in Tableau, I am able to connect and return data. However, I would prefer to use the MySQL connection to avoid the limitations of the Other Databases connection.
I created a specific username in phpmyadmin as well as tried using the root username and password and the same error was returned. I created a user DSN in odbcad32.exe and attempted using multiple versions of the MySQL ODBC driver (3.5, 5.2.7, 5.3.4).
Does anyone have any ideas of what might be causing the error? Really appreciate any help.

A bit late in replying but....
MySQL user connections are based on a combination of username,password AND the host you are connecting from.
If you are connecting to MySQL on the same host as Tableau server, then the connecting host could be seen as '127.0.0.1', 'localhost', '::1' or even a hostname if MySQL is configured to resolve those.
The simple way to test would be to set the host field to '%' for the user you are trying to connect as. I would not recommend this for your root user entry or other accounts with significant privileges.

Related

Cannot connect to MySQL database on home computer

Description
I've downloaded MySQL installer 5.7.21 for Windows onto my windows 10 machine and setup a server on port 3306 (I see the server status is "Running" within MySQL workbench, and I've also confirmed this by looking in Windows "Services" settings).
I created a database on this server with a dummy table. I have no issue executing sql statements.
Within the Windows firewall I set both "mysql_port_3306" and "Port 3306" as "Allowed App"s.
In MySQL Workbench I connected to the server and issued the (deprecated) command
GRANT ALL ON *.* TO 'username'#'1.2.3.4' IDENTIFIED BY 'password';
with username, 1.2.3.4, and password replaced by my username, the IP address of my laptop (a different cpu than the one I'm setting this server up on), and the password.
On the laptop I created a new connection within MySQL Workbench with the following connection parameters:
Connection Method: Standard (TCP/IP)
Hostname: the full name of the computer hosting the database (which is also the server host name)
Port 3306
Username and Password: the same values set in the SQL statement above
Problem
After doing all this when I test the connection on my laptop the program goes into "Not Responding" status for a short time then becomes usable again without giving results for the connection test. If I try to connect I receive the following error:
Cannot Connect to Database Server
Are there other steps I need to take to connect to the server I've created? Most of the guides I read have to do with installing the workbench, starting the server, or connecting to a server which is already configured to allow remote connections, but I feel I'm missing a step.
Thanks!

Remotely connect to an aws-windows instance based MySQL Database

I have launched an AWS EC2 Windows_Server-2016 instance.
Since this server is windows based,I can successfully connect to
it using remote desktop connection by entering the username,
password and a .ppk file.
I have installed MySQL server on the instance and created a user
that is allowed to login with any ip i.e by providing the '%' sign.
Here's what my AWS instance security group looks like :
I have tried connecting to the MySQL server using SQLYOG using 2
different scenarios :
Tried connecting by using the aws public ipv4 address as a host field and
using mysql username & password
Tried connecting by creating an SSH connection i.e providing server
username/password and .ppk file in SSH connection panel & then
providing mysql host/username and localhost in mysql connection
panel
None of the methods used allows me to connect.I try same procedure with a linux based server and can connect successfully. Please let me know where am I going wrong while using a windows based MySQL hosting.
MySQL has an extra level of IP protection for remote clients. You have to GRANT access to the remote ip(your house of office) to be able to connect. As root, you have to do :
GRANT ALL ON <db>.* TO '<username>'#'<remote ip>' IDENTIFIED BY '<remote_password>';
Where is the DB you are trying to connect to etc.

cannot connect remotely with online database on localhost phpmyadmin

i have configured the phpmyadmin's config.inc.php file and a drop down menu has appeared accordingly in localhost/phpmyadmin to select the server. But when i try to connect to the server it says:
phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.
i have added my ip address to the online host server in the cpanel and have access to the remote sql connection.
please help.
Most hosts block incoming connections to the MySQL server as a security measure. You'll have to ask your host about unblocking port 3306 and how to access your MySQL directly -- or run an API on your web host, which would have access to the MySQL server due to being on the same network, and access the database through that. For phpMyAdmin specifically, just install it on your web host instead of your local machine, then access it through the internet rather than localhost.

How to access MySQL remotely through workbench

Hi I'm trying to create a new Connection to an MySQL database installed on a remote Windows server. However, due to server authentication problem, I cannot get the local mysql workbench connected to the remote database. And I could not find a place in workbench where I can provide my server authentication, i.e. username and password to access server. Does anyone know how to do this?
Thanks!
in the Home window of mysql workbench, near Mysql Connections there is a + button, click on it to Open the setup new Connection wizard, then you get to enter the server's parameters.
Hostname : your Windows Server's host name.
Port : Port on which the remote mysql server communicate.
Username : your Mysql server's Username.
Password : your Mysql server's Password.
Default Shcema : the database you want to connect to.
Hope this helps

How to Connect Excel to ONLINE Mysql Database in my Domain using ODBC?

I've been trying to connect Excel to online mysql database.
Im using 5.1 DSN ODBC, gone through the process but when im establishing the connection of mysql and excel an error occured.
Connection Failed: [HY000] [MYSQL][ODBC 5.1 Driver]Access denied for user 'icafeown'#'118.252.49.9'(userpassword: YES)
I've been in the same questions like this but i cant establish the correct connection.
im using Cpanel for the domain and i already used Remote MySQL.
and the Database: Dropdown are empty.
Thank you.
Access denied means that you've successfully established a TCP connection to the MySQL server, but don't have appropriate permissions within MySQL to actually "log in" to the server.
Usually this is because of a mis-match on the 'host' portion of the MySQL user account. e.g. You may have created a someone#example.com account in MySQL, but your client's IP address cannot be reverse-lookuped to confirm that it is "example.com". MySQL only sees the IP you connect from, not the hostname. If your 118.252.49.9 can't be resolved to be 'example.com', you won't get it.
Same goes for connections on the same machine. You may have your someone#example.com MySQL account, but MySQL will see a connection come in from 127.0.0.1/localhost, which is NOT "example.com".