The goal here is to connect to mariadb via sequelpro, or by ssh.
The problem that I found is related with the application itself. If I get access to synology server via ssh, I can access to mysql server. How? Going to the folder and run:
/usr/bin/mysql -uroot -p
However, if I try to connect via sequelpro (see screenshot1), it returns an error(see screenshot2). How can I solve this problem? Any idea?
Worked out for me with the exact same settings on the admin account, might sounds silly but might worth a try...
Cheers,
Maxime
Using the user "admin" does indeed work. In stead of, in my case, the user "frank" with full admin privileges, this one does not work. I am not at all happy to enable the admin account. Would like to find out if there is an other, more secure way of connecting to MariaDB via SSH using database client software. In my case it is Navicat for MySQL, although the problem seems universal to many clients.
Related
When I access mysql database on my localhost XAMPP installation I usually type
mysql -u user -p
But today I accidentally mistyped it like this:
mysql -u user-p
And for my surpries got connected without any password prompt. I tried that with many users registered in mysql and it seems they all get opened like this. Is that a bug or vulnerability for XAMPP or is it the normal behaviour for the integrated shell application inside the control panel? And if it is the second, how can I change it because anyone else using my computer can easily access any database and table on my server?
quote : RajaRassani
When you type mysql alone, I bet you'll be able to access the database still. I think the default installation has User=Any, Host=% Password=-- (you can check this in the Users tab of your PhpMyAdmin since you already have this with XAMPP)
Actually it really appears to be user related issue, XAMPP adds too much useless users it seems... Thank you for helping!
Due to security considerations from my provider, I am not able to MySQL Workbench to connect to my database. The only way to access my database is to use phpmyadmin. Because I'm used to use MySQL Workbench and their tools, it is for me much easier to maintain my database. Using phpmyadmin is annoying, so I'm googeling a solution to use anyway MySQL Workbench. Is there a way to break this security consideration or to connect MySQL Workbench through phpmyadmin to gain access to the database?
If your hosting provided did it recently then I am pretty sure it is must be a response to this terrible security flaw discovered in mysql last month. The attack is as simple as running that one line shell command.
Not all OS/MySQL combinations are vulnerable. In case your hosting company was, then for a few moments - all customers
logins were at stake (including the root login).
To answer your question, unfortunately you can not do much in this case. You cannot do any port forwarding tricks even if you have shell(ssh) access because normally port forwarding isn't allowed in shared hosting environments.
In case you want to try, you can run this command on a unix box
$ ssh -L 3306:localhost:3306 username#yoursite.com
If you can login and don't see any errors related to port forwarding, perhaps your can direct your workbench to localhost on port 3306 and theoretically it should work.
If you are using windows you can use putty to do port forwarding as described here.
I think no. Only changing table Users in MySQL you can access from other IPs and hosts. And this table is not accessible by other users.
I'm trying to move a joomla site from one person's hosting account to another. Thus I'm really limited in which tools I have.
The problem I'm having to trying to get access to the mysql database. I don't have access to ssh, cpanel, phpmyadmin, or anything else of the nature, just joomla admin and ftp access.
However joomla gives me some database settings.
But when I try to connect to the given hostname, nothing happens.
I'm trying something like and it just hangs
mysql -u myusername -h thegivendomain.db.3456321.hostedresource.com jos_giventable name
I even tried digging the hostname and tried using the ip for the hostname.
and ideas?
It is reasonable to assume that their firewall just blocks remote access to the MySQL service, so your attempts to connect don't reach their destination.
Seeing how you are familiar with shell in general, you could try a PHP shell wrapper, such as this one I made for myself - if the hosting company is not too uptight about their security, this script will be able to run shell commands, e.g. mysqldump -uusername -ppassword db > backup.sql.
Install the free Akeeba Backup it will make a complete copy of the website that you can download. Upload that to the new server and install with their Kickstart script.
Run Kickstart from any browser on the new host and follow the steps.
I'm currently trying to set up an instance of Calpont's InfiniDB on Windows, however I'm currently struggling against a problem:
I set everything up on my development server, created the database, tables etc. Now I want to access the db from my development machine and I can't seem to configure things so that the development machine can connect. In other words, it seems like for the moment I'm only able to connect from 127.0.0.1
I found a manual that details configuration for Linux, but failed to find equivalent commands on Windows.
Any advice?
Although not detailed in the documentation from what I could gather, the way to grant access seems to be through the mysql prompt using a GRANT command.
I'm quite a beginner when it comes to working with networks and the like, so apologizes up front. A while back I set up a mySQL database locally on my machine, and have built a number of simple programs that work with it. (aka root:localhost sort of thing).
This has been great, but I'm now hoping to allow other colleagues at my work to access the database from their machines, but I have no idea how.
Likely there will be some network protection issues (firewalls etc), so that may need to be taken into account... (although I have IT's help on this, neither IT or myself really know what is required to 'connect' to the database).
For example, is it just an IP I need? Do I have to change the setup of my database? I understand that localhost would not work from my colleagues computer's, for obvious reasons, I have no idea what would go in its place for others to access it.
I also do not mind having my machine run as the dedicated database machine... I would not be able to run it off a dedicated server or anything like that, beyond my machine.
Any help would be much appreciated!
Thanks.
First of all, what your colleagues need are:
The IP Address where MySQL server is
running.
User and Password to connect remotely
Have the port 3306 open on the network
A MySQL Client (mysql workbench, mysql query browser, toad, heidi or just the Command Line tool).
When you create user in MySQL the have to be something like this:
'root'#'localhost'
That means, the user will work if you connect from localhost with the user root. So you can create user allowed to connect from anywhere:
'juanperez'#'%'
And finally you have be careful about what privileges are you granting to them. Do not forget to comment a line in the options file of the MySQL that says "bind-address" (this options prevents remote connection).
For example, is it just an IP I need?
Yes. You'll be much happier if you set up proper domain names, but a domain name is just an alias for the IP address.
Do I have to change the setup of my database?
No, but... You have to add some user credentials to support remote logins. That's a change, but not a change to a schema. It's changes to the permissions.
I understand that localhost would not work from my colleagues computer's, for obvious reasons, I have no idea what would go in its place for others to access it.
What MySQL Admin tools are you using? Often there is good help there.
You must read reference manual 4.1 or 5.0
For whatever version is appropriate.
It's very clear.
A user is identified by a username#hostname. You can specify IP addresses (or even "%" for the hostname.
You will use following commandline to connect -
mysql -u<user-id> -p<password> -h<your-hostname-or-ipaddress>
For applications running on different machines trying to connect to your database, you only need to replace 'localhost' with your machine's hostname or ipaddress.
In, general if you are able to ping your machine from a different system, your database can be connected to from that machine, just use whatever name you used for 'pinging' in place of localhost.
Use your workstation IP address or workstation name. You will need to enable remote access. Go to this link for how:
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html