Help Configuring MySQL and phpMyAdmin
I'm a novice when it comes to database design and MySQL. But I need to create and manage a database for my own internal operations. So I installed MySQL and phpMyAdmin yesterday using XAMPP. It now works.
However, I seem to be missing the "Relation View" option, which should (I understand) appear underneath the "Structure" tab in phpMyAdmin for tables. I'd like to set it up, but I'm running into trouble. I'd appreciate some help, if anybody can spare the time to share some knowledge.
Here's what I've done so far:
1. I went to the following link and learned that I need to "create the pmadb":
2. So I clicked on a link about creating the pmadb and went here:
3. After reading, I learned that I need to set up a control user. So I went here:
4. And I followed the instructions by entering the following code in the "SQL" tab of phpMyAdmin. First I changed all instances of "pma" to use my own character string. The queries were successful with no errors.
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
5. Reading further down, I saw that I needed to add the following lines of code to my config.inc.php file, which I did (replacing the "pma" with the same character string I used above):
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
6. Then I went to the config.inc.php file and enabled (by un-commenting) the following lines of code:
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
7. Next I turned off MySQL and rebooted.
8. Unfortunately, the "Relation View" still isn't there.
9. Then I read that I needed to "execute the file create_tables.sql, found in the scripts/ folder of your phpMyAdmin installation." So I did that using the "Import" option in phpMyAdmin. It has indeed created a new database called phpMyAdmin with the 8 tables listed above. However, there is still no "Relation View" option appearing in my other databases.
Obviously, I barely know what I'm doing. Right now, I'm just trying to get everything configured so that I can teach myself MySQL in order to build the databases I need. Any help would be greatly appreciated.