Phpmyadmin 5

0 views
Skip to first unread message

Destini Armstrong

unread,
Aug 4, 2024, 8:45:33 PM8/4/24
to clothleurebehn
phpMyAdminis included in most Linux distributions. It is recommended to usedistribution packages when possible - they usually provide integration to yourdistribution and you will automatically get security updates from your distribution.

Most Debian and Ubuntu versions include a phpMyAdmin package, but be aware thatthe configuration file is maintained in /etc/phpmyadmin and may differ insome ways from the official phpMyAdmin documentation. Specifically, it does:


Additionally configuration can be tweaked by /etc/phpmyadmin/config.user.inc.php. Ifthis file exists, it will be loaded after configuration is generated from aboveenvironment variables, so you can override any configuration variable. Thisconfiguration can be added as a volume when invoking docker using-v /some/local/directory/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php parameters.


Next, open your browser and visit the location where you installed phpMyAdmin,with the /setup suffix. The changes are not saved to the server, you need touse the Download button to save them to your computer and then uploadto the server.


Some openSUSE releases do not include setup script in the package. In case youwant to generate configuration on these you can either download originalpackage from or use setup script on our demoserver: .


You should verify that the signature matches the archive you have downloaded.This way you can be sure that you are using the same code that was released.You should also verify the date of the signature to make sure that youdownloaded the latest version.


The problem here is that anybody could issue the key with this name. You need toensure that the key is actually owned by the mentioned person. The GNU PrivacyHandbook covers this topic in the chapter Validating other keys on your publickeyring. The most reliable method is to meet the developer in person andexchange key fingerprints, however, you can also rely on the web of trust. This wayyou can trust the key transitively though signatures of others, who have metthe developer in person.


For a whole set of additional features (Bookmarks, comments, SQL-history,tracking mechanism, PDF-generation, Transformations, Relationsetc.) you need to create a set of special tables. Those tables can be locatedin your own database, or in a central database for a multi-user installation(this database would then be accessed by the controluser, so no other usershould have rights to it).


You can use your phpMyAdmin to create the tables for you. Please beaware that you may need special (administrator) privileges to createthe database and tables, and that the script may need some tuning,depending on the database name.


You will also need to have a controluser($cfg['Servers'][$i]['controluser'] and$cfg['Servers'][$i]['controlpass'] settings)with the proper rights to those tables. For example you can create itusing following statement:


Note that MySQL installations with PHP older than 7.4 and MySQL newer than 8.0 may requireusing the mysql_native_password authentication as a workaround, see1.45 I get an error message about unknown authentication method caching_sha2_password when trying to log in for details.


Simply copy config.inc.php from your previous installation intothe newly unpacked one. Configuration files from old versions mayrequire some tweaking as some options have been changed or removed.For compatibility with PHP 5.3 and later, remove aset_magic_quotes_runtime(0); statement that you might find nearthe end of your configuration file.


If you have upgraded your MySQL server from a version previous to 4.1.2 toversion 5.x or newer and if you use the phpMyAdmin configuration storage, youshould run the SQL script found insql/upgrade_tables_mysql_4_1_2+.sql.


HTTP and cookie authenticationmodes are more secure: the MySQL login information does not need to beset in the phpMyAdmin configuration file (except possibly for the$cfg['Servers'][$i]['controluser']).However, keep in mind that the password travels in plain text unlessyou are using the HTTPS protocol. In cookie mode, the password isstored, encrypted with the AES algorithm, in a temporary cookie.


If you intend to pass the credentials using some other means than, you have toimplement wrapper in PHP to get that data and set it to$cfg['Servers'][$i]['SignonScript']. There is a very minimal examplein examples/signon-script.php:


When the database server is using a local connection or private network and SSL can not be configuredyou can use $cfg['MysqlSslWarningSafeHosts'] to explicitly list the hostnames that are considered secure.


Hi, @clay! Since Sequel Pro is Mac only, do you know any alternatives for Windows users? I really like PHPMyAdmin too, but if it is not possible, it would be good to have at least an usable solution for Windows too.


PHPMyAdmin is an overkill for local environments, all needed stuff can be done on Adminer, which is just one file . If you really need a good SQL manager, I really like and recommend trying DataGrip by jetBrains. I just add a new mysql connection when I create a new site on local, and it works perfectly, with saving all queries, robust tools to filter database and more


Create new website with Local and replace PHPMyAdmin source code to the public folder.

Then, configure config.inc.php file to add other websites as the server selectbox of the phpmyadmin login screen.

Change the port number and verbose according to your requirements.


@likegift -- we find that using an ORM like Django's, or SQLAlchemy, makes it easy enough to work with a database using Python, so we don't really ever miss having a GUI for a database... Django also give you the admin UI, of course...


I sure miss PHPMyAdmin ... it's one of those things that one gets to know well and easily design/adjust the database on the fly. I really wish you's think again about it; Maybe I am wrong but I can't see that it would be all that hard to do.


A great alternative to PHPMyAdmin turns out to be Very intuitive, fast and easy with SSH as well, and simple/useful for persons like me who conceptualise/design & build all at once ... no longer miss PHPMyAdmin. SQL Workbench is another viable tool but for my liking I'll take DBeaver any day.


Yes .. easy; I use the SSH tunnelling and I used used your post on topic [MySQL Workbench] for proper addressing: here Of course the thing is with SSH tunnelling is that everything must be exactly right.


Ummmmm I'm not hardcore at all! and don't try to be. Python, python modules and web apps make a wonderful tools for scientific discovery in related fields. I'm thankful for the software tools here (and everywhere) but keeping it simple affords me the time to focus on the application.


I relied 100% on PHPMyAdmin before I came here. My knowledge of MySQL has probably gone up 100 fold in a few months since I started using the command line. I'm finding now that I can write queries in my Python scripts much quicker because I understand what I'm doing rather than just copying and pasting code all the time.


Hi Conrad, yeah I tried but I havent been able too I keep getting too many auth failure (cannot establish tunnel) or error socket is not establish (cannot establish tunnel) this is why I was saying it will be nice to have in the same link as Accessing your MySQL database from outside PythonAnywhere post a little tutorial (1 or 2 images) of the key aspescts that needs to be filled in order to have it running, as I have been trying for a while. is just a suggestion, thanks


It finally worked for me, I am not sure if it was after i upgrade it to version 6.3 or I notice that, it could be just in my machine, each time I add the information in ssh tab, my general tab the server host was always changing from yourusername.mysql.pythonanywhere-services.comto localhostbut because I was on SSH tab I was not able to see that the field was changed.


I'm totally new to this so please can anyone help me with maybe a link to where I can get a simple tutorial on how to set up dbeaver on my pythonanywhere database I just started so I haven't done anything database before on this platform and I'm already very used to the GUI of phpmyadmin......HELLLLLP!!!


Can somebody tell me how I can change the Next Autoindex ID number for a row in phpMyAdmin (latest version)? Say I have 50 rows of information, then I delete 45 of them. How can I make it so it will start the next ID number in the table to 6 instead of 51?


This is a known bug in phpmyadmin (amoung many, many others) The stupid query parser is screwing up the SQL statement. I tried it in phpmyadmin as well with no luck. Use the commandline or write a php script to execute it if you have no shell access.


I installed in Ubuntu 8.04 using apt-get install phpmyadmin. I see config files in /etc and the programs files in /usr/share/phpmyadmin. I am unsure how to even access the utility past this (I did try various combos like ipaddress/phpmyadmin).


Will I be able to run one copy of this that all vhosts use? Accessing with ipaddress/phpmyadmin or their_domain.com/phpmyadmin? Either way would be ok, as long as they can log in with their mysql username/passwords.


It will now redirect any and all vhosts there using This is also certainly not in the SuExec path, so I assume I won't get any suexec problems from that. I recompiled my own SuExec yesterday to use /var/www instead of /home and to use httpdocs instead of public_html.


Suexec will never run anything that has been installed from the Ubuntu repos, because ownership will be wrong. So, if you're using stuff installed via that method, you need to accommodate by giving it a non-suexec execution environment. This could be a separate virtual host just for running this app (phpmyadmin.yourdomain.tld), or it could just be a different directory configured with Suexec disabled (yourdomain.tld/phpmyadmin).


You might find some configuration tucked away in the Apache config directory for the application, but it probably won't work the way it looks like it works (because the VirtualHost stuff is overriding it..."default" doesn't mean what you might think when Apache is configured in a virtual hosting environment). So, you probably need to be very explicit and specific about where you want it to appear.

3a8082e126
Reply all
Reply to author
Forward
0 new messages