I have added .ppk file is auth file
IPv4 Public Ip
Tunnel: 8888 localhost:80
username:ec2-user
When I log in via Bash it works fine, but when trying to view in the browser it won't show
http://localhost:8888/phpmyadmin
or
http://127.0.0.1:8888/phpmyadmin
it gives 404 Page Not Found
Security Group
You need to open TCP port 8888 in the ec2 Security Group. Also need to open the same port on the EC2 instance's firewall. and phpmyadmin default port is 3306 so try to open TCP port 3306 and access with ec2 instance IP with 3306 port.
steps to allow port
Go to the "Network & Security" -> Security Group settings in the left
hand navigation
Find the Security Group that your instance is apart of
Click on Inbound Rules
Use the drop-down and add HTTP (port 8888)
Click Apply and enjoy
Related
It looks like weird happening, I've followed and fixed all the possible things but still MySQL port 3306 is not accessible remotely.
Here's my setup:
Machine: Windows Server 2012 R2
MySQL Server: 8.xx
Settings have been applied:
In my.ini bind-address did to 0.0.0.0 and and thus after exec command netstat -an this is what I get TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
From Windows Firewall I've enabled port 3306 inbound/outbound both. and set that to allow edge traversal as well
From the MySQL server I've created a user with % all host and then provided permission to all databases as well. which has been checked
I guess these are the actions I took afterward. But this is not working at all.
When I'm trying to do telnet server_ip 3306 error: Connecting To server_ip ...Could not open a connection to the host, on port 3306: Connect failed from other machines. The local host is working fine.
I don't see any other workaround that could else cause this issue?
I've tried installing MySQL 8.0 on my local PC:
With default setting
Firewall turned on
No firewall exception added manually
Then I tried to connect from a remote Windows Server 2016 Standard using telnet local_ip port through command-prompt and I received this:
J
8.0.27
ZPhqTaMC v|)64Pthmmysql_native_password
Which means the connection has been established. I test it further using SQLYog tool:
and for sure I can connect to it.
What I did next was I went to my firewall setting here
Control Panel\All Control Panel Items\Windows Defender Firewall\Allowed applications
and removed all related firewall exception that was made during the installation so I've removed the following:
mysqld
port3366 <-- this is the port I used
port33060
And when I tried to connect remotely, it tells me this:
Connecting To local_ip...
Could not open connection to the host, on port 3366: Connect failed
This confirms my suspicion that firewall have blocked the connection. Now, OP said that the port have been added to the firewall but still can't connect so my first step after that is adding back mysqld into the firewall exception.
In the firewall setting click "Allow another app"
The "Add and app" dialog opens then click "Browse"
Locate mysqld from MySQL folder - usually found in C:\Program Files\MySQL\MySQL Server 8.0\bin
Click "Add" then tick both "Public" and "Private" checkbox
Once I've done that, I tried connecting and it's successful. Note that I did not re-add the ports that I've removed previously but I still can connect remotely. Also, I didn't add bind-address in my.ini setting.
I am having problem to connect to MariaDB on Linuc GCP VM. I have followed all practices to expose the VM on 3306, I use ephemeral IP. The VM is reachable as I have nginx installed. I have create remote user in MySQL, enabled remote access but still nothing. When i cannoct from my PC with MySQL Workbench i get connection error. What can it be?
I have also followed this:
enter link description here
Update
this the output of netstat:
$> netstat -ant | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
Result of nmap is more intersting though:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
3389/tcp closed ms-wbt-server
I do not see 3306 but it is a port I have opened on firewall rule in GCP... How can it be is not shown?
Ok, I have found a mistake. It was in the GCP firewall configuration rule. The tag name of the VM was spelled wrongly. thanks.
I'm running MySQL server on an EC2 instance on AWS. I've configured security groups to listen at port 3306 and port 22(ssh only from my ip!). But to my surprise, I wasn't able to remotely connect to my ec2 instance on port 3306 from one of my networks as it always gives connection refused, but when I switched my network I'm able to connect.
I'm unable to understand this behaviour as both my networks are working absolutely fine and also I'm not sure if I face similar kind of issue in future, how will I be sure that port 3306 is working?
Only MySQL uses port 3306. You can use netstat command to check if port 3306 is being used or not. Also you can check the firewall rule of the network ( from which you are not able to connect) if something is preventing to connect port 3306. I am assuming that all security inbound and outbound rules are already present.
I am trying to access my rds mySql db via 443 only instead of 3306.
After enabling the ssl option on workbench and entering the path to the mysql-ssl-ca-cert.pem I tried to disable tcp 3306 on my security group to insure it connects using 443 but it doesn't.
I can connect using the mysql command line below but yet again it fails once i disable tcp 443 on the security group
mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl_ca=rds-ssl-ca-cert.pem
Amazon documentation states:
The SSL support in Amazon RDS is strictly for encrypting the connection between your client and your DB instance; it should not be relied on for authenticating the server.
Does this mean that I can only ever authenticate to mysql db over 3306 and not 443, but the data will be encrypted in transit?
My issue is that my customer won't open 3306 outbound on their firewall but 443 is of course opened. Any help appreciated.
You are confusing SSL and HTTPS. Port 443 is the default port for HTTPS connections. MySQL uses 3306 instead (and can use SSL over this port or any other to encrypt the connection). So, setting up SSL encryption for a MySQL connection doesn't affect the used port.
In order to use a different than the standard port you have to reconfigure the MySQL server, which you probably cannot do with an RDS instance.
It is possible to use tunneling to avoid the default port. In this scenario you have to open an SSH tunnel (MySQL Workbench can do that for you or you use an external program like putty on Windows or ssh on *nix like OSes). With that tunnel in place (which uses port 22 by default but can be configured for any other port if that matters for you) you can then forward access from a local port (here 3306, but can be any) to a remote port (can be any as well). This requires an SSH server on the remote end however.
I am new to AWS RDS. I have created RDS instance.But i dont know, how can i connect this DB.
I tried like this
mysql -h awsinstanamehere.rds.amazonaws.com -P 3306 -u username -p
After i entered password and i am getting some error like this
ERROR 2003 (HY000): Can't connect to MySQL server on
'awsinstanamehere.rds.amazonaws.com' (110)
Need to set any security setting in AWS console?
Note:
I want to import tables for that DB
Thanks
RDS has a security group - in the AWS console, RDS, there's an entry for security groups.
If you didn't explicitly create a security group, you are probably using "default". You should probably have one group per RDS instance.
You will need to make sure that port 3306 is open to your local network, as well as whatever application you will be using to connect to it. You can allow access by IP or by security group.
Same error, but in my case the problem wasn't related to security groups.
I forgot to add an additional route to the route table of the subnets.
See below the 2nd route where the internet gateway was added as the target for all non local traffic (outside the VPC):
I was having a little trouble with these answers so here are the steps I followed to get it working...
Logged in via ssh to my ec2 instance.
typed this command, curl canhazip.com
copied the ip address that was returned
went to my VPC Dashboard in aws
clicked on Security Groups in the left column
clicked on the checkbox next to one of the security groups
clicked Edit under the Inbound Rules tab
added this rule : MySQL/Aurora (3306) TCP (6) 3306 [IP from #2]/32
saved
I did this for every security group until the mysql connection worked from the command line, then deleted all of the ones that I didn't need, and retested to make sure I could still connect.
By default security group defined by AWS is not configured for publicly available inbound source. You will have to modify the security group inbound source ip to 0.0.0.0/0
It worked for me when I added the port 3306, while it was only the 1433 it was not working....
so the security group was created like this
security group vpc-XXXXXX
MY SQL / TCP / 1433 / 0.0.0.0/0
MY SQL / TCP / 1433 / ::/0
MTSQL/Aurora / TCP / 3306 / 0.0.0.0/0
MSSQL/Autora / TCP / 3306 / ::/0
following the headers TYPE / Protocol / Port Range / Source