Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Zrychlení MySQL příkazu SHOW DATABASES při desetitisících DB
#1

Načítání PhpMyAdminu při 20 000 databázích je docela problém, trvá to okolo 4 minut. Vymyslel jsem řešení, které načítání solidně zrychlí (nehledají se složky, ale selectuje se z databáze).
Nejprve je nutno vytvořit ControlUsera - pojmenoval jsem ho phpmyadmin_optimizer. Je nutné mu přidělit právo SELECT na mysql.db.Db a mysql.db.User..
Code:
CREATE USER 'phpmyadmin_optimizer'@'localhost' IDENTIFIED BY '';
GRANT SELECT (`Db` , `User`) ON `mysql`.`db` TO 'phpmyadmin_optimizer'@'localhost'; 
Následně do konfigurace config.inc.php vložíte toto:

Code:
$cfg['DisplayDatabasesList'] = 'auto';

$cfg['Servers'][$i]['controluser'] = 'phpmyadmin_optimizer';
$cfg['Servers'][$i]['controlpass'] = '';
$cfg['Servers'][$i]['ShowDatabasesCommand'] = "SELECT Db FROM `mysql`.`db` WHERE User LIKE (SELECT IF(('#user#'='root'),'%','#user#'))"; 

Zajistíte zobrazení všech databází rootovi, ale ostatním uživatelům necháte zobrazit jen databáze, které jim patří.

[Image: kavove-zrnka-lajna.jpg]
Coffee phreak!
Reply
#2

Your webpage is really impressive. The level of detail on your webpage is astounding. Furthermore, if you have any free time, you should play poly track with me since it's an amazing game.
Reply




Users browsing this thread: 1 Guest(s)