Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
FREEDOM251

Freedom251 › Blog › Database administration

Fix the phpMyAdmin pma__table_uiprefs Table Missing Error

By Freedom251 Team · · 11 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To fix the pma__table_uiprefs error, make the database configured as $cfg['Servers'][$i]['pmadb'] contain the table named by $cfg['Servers'][$i]['table_uiprefs']. In a conventional installation, that means creating pma__table_uiprefs in the phpmyadmin database, using the create_tables.sql file shipped with the same phpMyAdmin release, and granting the configured control user SELECT, INSERT, UPDATE, and DELETE rights on that database. If persistent table preferences are unnecessary, set table_uiprefs to false instead.

What the pma__table_uiprefs error means

pma__table_uiprefs is a phpMyAdmin configuration-storage table. It records each user’s table-browsing preferences, including sorted columns, column order, and column visibility. It is not an application table belonging to one of your projects or business databases.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The feature is controlled by two related settings in the active config.inc.php file:

  • $cfg['Servers'][$i]['pmadb'] identifies the database that stores phpMyAdmin’s configuration tables.
  • $cfg['Servers'][$i]['table_uiprefs'] identifies the table used for persistent table-interface preferences.

Both settings must point to objects that actually exist together. Creating pma__table_uiprefs in some other database does not satisfy a configuration that points to phpmyadmin, and changing the configured table name does not rename an existing table.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

The conventional sample configuration uses phpmyadmin for pmadb and pma__table_uiprefs for table_uiprefs. An installation may intentionally use different names, so read the active configuration before making changes.

1. Read the active phpMyAdmin configuration

Do not begin by creating a table in the first database you see in the server tree. First identify which configuration file the running phpMyAdmin instance uses. Open that installation’s config.inc.php and find the server block that matches the connection showing the warning.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';

Record the two values exactly, including capitalization and the two underscores in the conventional table name. If table_uiprefs is set to another name, that name is the one phpMyAdmin will look for. If it is set to false, the persistent preference feature is already disabled and a missing table should not be repaired as though the feature were enabled.

Multiple phpMyAdmin copies can have separate configuration files. Editing an unused copy will not change the instance that displays the error. Make the change in the installation whose web interface you are loading, then save a backup of the file before editing it.

2. Check the configured database for the exact table

Use the database named by pmadb, not a similarly named application database. You can inspect that database in phpMyAdmin or run this query:

SHOW TABLES LIKE 'pma__table_uiprefs';

The backslashes escape the underscores so they are treated as literal characters in the LIKE pattern. A successful result must show the exact configured table name. If the query returns no rows, the table is absent from the configured storage database. If it returns a table only after you select a different database, the table is in the wrong location and phpMyAdmin will continue to report it as missing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If your configuration intentionally uses a nonstandard table_uiprefs value, substitute that exact name in the check. Conversely, if the configuration says pma__table_uiprefs but the database contains a differently named table, correct the configuration or create the expected table; do not assume phpMyAdmin will discover a near match.

3. Create the configuration tables from the Operations tab

When the configured database is reachable but its phpMyAdmin tables are absent, the supported automatic route is the database’s Operations tab. Select the database named by pmadb, open Operations, and look for the action to create phpMyAdmin configuration storage tables.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

When entering a database where the configuration storage tables are not present, phpMyAdmin offers to create them from the Operations tab.

Accept the creation action only in the database identified by pmadb. The operation creates the set of configuration tables expected by that phpMyAdmin release, rather than just a one-off table copied from an unrelated installation. After it completes, return to the database structure view and confirm that pma__table_uiprefs appears.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This method is useful when you have administrative access through the phpMyAdmin interface and want the application to perform the documented setup. It does not remove application data from your other databases; the important safety check is selecting the correct configuration database before starting.

4. Import the release-matched create_tables.sql file

If the Operations-tab action is unavailable, import the SQL file bundled with the same phpMyAdmin version. The documented path is resources/sql/create_tables.sql. Use the copy shipped with your installation rather than a file copied from an older or newer release, because configuration schemas can change across versions.

With a MySQL-compatible command-line client, the operation has this general form:

mysql --user="$DB_ADMIN_USER" --password "$PMADB" < resources/sql/create_tables.sql

Replace the shell variables with the administrator account, password prompt, and database name that correspond to your environment. The command is an example of directing the bundled file into the configured storage database; use your normal database client if you administer the server through another interface. The essential requirements are that the destination be the configured pmadb and that the input file come from the installed phpMyAdmin release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Importing the complete file is preferable to pasting only one CREATE TABLE statement because phpMyAdmin’s configuration storage consists of several related tables. The missing pma__table_uiprefs warning may be the first visible symptom of a broader incomplete setup.

5. Confirm the expected pma__table_uiprefs schema

The documented definition for the table contains these columns and key:

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord | 6.35mm Jack, Durable Design, Stage and Home Studio Use, Low Noise Shielded Electric Cord for Bass, Keyboard, Amp, Mixer
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Column or property Definition Purpose
username varchar(64) NOT NULL Identifies the phpMyAdmin user whose preferences are stored.
db_name varchar(64) NOT NULL Identifies the database whose table view is being customized.
table_name varchar(64) NOT NULL Identifies the table whose interface settings are saved.
prefs text NOT NULL Stores the serialized table-interface preferences.
last_update timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Records when the preference row was last changed.
Primary key (username, db_name, table_name) Allows one preference row for each user, database, and table combination.

The reference SQL is:

CREATE TABLE IF NOT EXISTS `pma__table_uiprefs` (
  `username` varchar(64) NOT NULL,
  `db_name` varchar(64) NOT NULL,
  `table_name` varchar(64) NOT NULL,
  `prefs` text NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`username`,`db_name`,`table_name`)
) COMMENT='Tables'' UI preferences' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

Use this definition as a diagnostic reference, not as a substitute for the release-matched file. The SQL bundled in your installation is the authoritative migration input for that version. If an existing table has a different structure, compare it with the bundled definition before altering it; do not overwrite a table that contains preference data without a backup and a deliberate migration plan.

6. Give the control user the required privileges

Creating the table does not by itself make it usable. The account configured as phpMyAdmin’s controluser must be able to read and modify the configuration database. The setup documentation specifies SELECT, INSERT, UPDATE, and DELETE rights on that database.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Apply equivalent least-privilege rights to the configured control account. A generic grant template is:

GRANT SELECT, INSERT, UPDATE, DELETE
ON `${PMADB}`.*
TO '${CONTROLUSER}'@'${CONTROLHOST}';

Use the actual database, account, and host values from your installation in place of the variables shown in the example. Do not grant broad server-wide privileges merely to silence this warning. The account needs the documented CRUD operations on the configuration database, including pma__table_uiprefs and the other phpMyAdmin storage tables that were created with it.

After changing privileges, reload phpMyAdmin and test a table view while logged in as a normal user. A table that exists but still produces a permission warning indicates an authorization problem rather than a missing-schema problem.

7. Account for upgrades and older installations

An upgrade can leave configuration storage incomplete when the installation crosses a schema boundary. The setup documentation lists these upgrade scripts for corresponding historical paths:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • upgrade_tables_mysql_4_1_2+.sql
  • upgrade_column_info_4_3_0+.sql
  • upgrade_tables_4_7_0+.sql

Run only the script applicable to the versions your installation actually crossed. Then create any still-missing tables from the current release’s resources/sql/create_tables.sql. Do not run every upgrade script indiscriminately; each one represents a particular upgrade path.

When troubleshooting an old server, first establish the currently installed phpMyAdmin release and locate its own SQL resources. A schema copied from an earlier installation can omit columns or tables expected by the current code, while a newer schema may not be appropriate for an older release. Matching the SQL file to the running release avoids both forms of drift.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

8. Reload and verify the repair

Once the table exists in the configured database and the control user has the required rights, reload the phpMyAdmin page. Verify the repair in three ways:

  1. Open the database named by pmadb and confirm the exact configured table name is present.
  2. Browse a normal application table and change a column order, sort, or visibility setting.
  3. Return to that table or start a new session and confirm phpMyAdmin no longer reports the missing configuration table.

The preference feature is optional, so a successful repair is not measured by a new application-table row. The relevant result is that phpMyAdmin can access its configuration storage without an existence or privilege error.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When disabling table preferences is the better choice

Persistent table-interface preferences are not required for phpMyAdmin to manage your databases. If you do not need per-user column order, sorting, or visibility to persist, disable the optional feature in the server configuration:

$cfg['Servers'][$i]['table_uiprefs'] = false;

After saving the configuration, reload phpMyAdmin. This tells phpMyAdmin not to use the table-UI-preferences storage feature, so creating pma__table_uiprefs is unnecessary for that purpose. Keep the setting consistent with your operational choice: enabling it later requires a correctly configured pmadb, table, schema, and control-user privileges.

Choose the repair path that fits your installation

Situation Preferred path What you retain or change Main caution
You can manage the configured database in phpMyAdmin Use the Operations tab to create configuration storage Preserves the optional preference feature and creates the release-appropriate table set Select the database named by pmadb, not an application database.
The Operations action is unavailable Import the installed release’s resources/sql/create_tables.sql Preserves the feature with the bundled schema Do not substitute an older copied SQL file.
The table exists but access errors remain Correct control-user privileges Keeps persistent preferences enabled Grant SELECT, INSERT, UPDATE, and DELETE on the configuration database only.
Persistent preferences are not needed Set table_uiprefs to false Disables storage of table-interface preferences Make the change in the active configuration file and reload phpMyAdmin.
An upgrade crossed an applicable historical boundary Run only the matching upgrade script, then create missing tables from the current release file Brings the configuration schema through the relevant upgrade path Running unrelated upgrade scripts can create an unsupported schema state.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common causes and precise fixes

The table was created in the wrong database

This is the most common location mistake. The table may be visible in the server, yet phpMyAdmin still reports it missing because the configured pmadb points elsewhere. Select the configured database and repeat the exact-table query there.

The names differ by underscores or spelling

pma__table_uiprefs contains two underscores between pma and table. A configuration pointing to pma_table_uiprefs, or a table created with that single-underscore name, is a mismatch. Make the setting and the physical table agree rather than relying on visual similarity.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The configuration tables were never imported

A fresh installation or incomplete migration can have a working phpMyAdmin interface but no configuration storage. Use the Operations-tab creation route or import the release-matched create_tables.sql file into pmadb.

The control user cannot modify the table

If the table exists and the name is correct but the warning changes to an access or write error, check the account configured as controluser. It needs SELECT, INSERT, UPDATE, and DELETE on the configuration database. A table-creation account and the runtime control account are not necessarily the same account.

An upgrade left an old schema behind

When the problem appears immediately after an upgrade, review the documented version boundaries and apply only the applicable upgrade script. Then use the current release’s creation file for any tables that remain absent.

What will not fix the warning

  • Creating the table in an application database: phpMyAdmin checks the database named by pmadb, so a correctly named table elsewhere is invisible to that configuration.
  • Changing only one setting: changing table_uiprefs without creating or renaming the physical table leaves the names mismatched; changing pmadb without moving the configuration tables creates the same problem at the database level.
  • Copying an arbitrary SQL file: an older or newer schema can omit objects or columns expected by the running release. Use the SQL resources shipped with that installation.
  • Granting privileges to the wrong account: the account that imports the tables is not necessarily the configured controluser. Runtime access must be granted to the account phpMyAdmin actually uses.
  • Disabling the option without reloading: configuration changes do not help the current request until the running phpMyAdmin instance is reloaded.

Working with managed hosting

On managed MySQL or MariaDB hosting, you may not have permission to create a database, import SQL, or alter grants yourself. Give the host the exact pmadb name, the configured table_uiprefs name, the phpMyAdmin release, and the required SELECT, INSERT, UPDATE, and DELETE privileges for controluser. Ask them to use the release-matched resources/sql/create_tables.sql file or the equivalent Operations-tab action. If the provider cannot supply configuration storage, disabling table_uiprefs is the supported fallback.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Final validation checklist

  • The active config.inc.php has been identified.
  • The values of pmadb and table_uiprefs have been read exactly.
  • The configured database contains the exact configured table name.
  • The table schema matches the SQL file bundled with the running phpMyAdmin release.
  • The configured control user has SELECT, INSERT, UPDATE, and DELETE rights on the configuration database.
  • Any applicable historical upgrade script has been run once, and unrelated scripts have been avoided.
  • phpMyAdmin has been reloaded and a table preference can be viewed without an error.
  • If preferences are not needed, table_uiprefs is explicitly set to false instead of leaving a broken optional feature enabled.

Frequently Asked Questions

Why does phpMyAdmin say pma__table_uiprefs does not exist?

The configured pmadb database does not contain the exact table named by table_uiprefs, or the control user cannot access it. Check both settings, verify the table in that database, and then correct the schema or privileges.

Where should pma__table_uiprefs be created?

Create it in the database assigned to $cfg['Servers'][$i]['pmadb']. The conventional database is phpmyadmin, but your active configuration may use another name.

Can phpMyAdmin create the missing configuration tables automatically?

Yes. Enter the configured storage database and open its Operations tab. When the configuration tables are absent, phpMyAdmin offers to create them there.

What privileges does the controluser need?

The configured controluser needs SELECT, INSERT, UPDATE, and DELETE rights on the configuration database, including the table-UI-preferences table and the other phpMyAdmin storage tables.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should I run every phpMyAdmin upgrade SQL script?

No. Run only the script matching the historical version boundary your installation crossed, then create remaining tables from the current release’s resources/sql/create_tables.sql.

Can I disable the table preference feature instead of creating the table?

Yes. Set $cfg['Servers'][$i]['table_uiprefs'] = false; in the active configuration and reload phpMyAdmin. This disables persistent table-interface preferences.

The Bottom Line

Check the active pmadb and table_uiprefs values first. Then create the configuration tables through the Operations tab or import the matching release’s resources/sql/create_tables.sql, grant the control user SELECT, INSERT, UPDATE, and DELETE access, and reload phpMyAdmin. If persistent table preferences are unnecessary, disabling table_uiprefs is the supported alternative.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Database administrationMariaDBMySQLphpMyAdminTroubleshooting

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.