Mise à jour des privilèges dans MySql 5.0
MGD
-
Cobaye -
Cobaye -
Bonjour,
Je viens d'installer EasyPhp 2.0b1 sur un nouveau serveur (sous Windows). Cette version utilise MySql 5.0.
J'ai copié les bases de données de l'ancien serveur (mysql 4.1). Quand je lance PhpMyAdmin, je récupère bien mes bases, à un (gros) détail près : je n'arrive plus à accéder aux privilèges pour changer les utilisateurs et les mots de passe.
Lorsque je tente d'y accéder, j'ai le message suivant :
Warning: Your privilege table structure seems to be older than this MySQL version!
Please run the script mysql_fix_privilege_tables that should be included in your MySQL server distribution to solve this problem!
Problème : impossible de trouver le script mysql_fix_privilege_tables nulle part. En fouillant dans l'aide, il est dit que ce script est remplacé par mysql_update. Meme problème, fichier inexistant sur le disque. Sur le web, on parle beaucoup de cette erreur, mais à chaque fois on dit d'exécuter mysql_fix_privilege_tables.
Les seuls scripts sql que j'ai trouvés ne concernent que la base phpmyadmin alors que celle qu'il faut corriger est mysql.
Est-ce quelqu'un disposerait de l'un des scripts mysql_fix_privilege_tables ou mysql_update, ou pourrait fournir une adresse où le télécharger ?
Merci d'avance.
Je viens d'installer EasyPhp 2.0b1 sur un nouveau serveur (sous Windows). Cette version utilise MySql 5.0.
J'ai copié les bases de données de l'ancien serveur (mysql 4.1). Quand je lance PhpMyAdmin, je récupère bien mes bases, à un (gros) détail près : je n'arrive plus à accéder aux privilèges pour changer les utilisateurs et les mots de passe.
Lorsque je tente d'y accéder, j'ai le message suivant :
Warning: Your privilege table structure seems to be older than this MySQL version!
Please run the script mysql_fix_privilege_tables that should be included in your MySQL server distribution to solve this problem!
Problème : impossible de trouver le script mysql_fix_privilege_tables nulle part. En fouillant dans l'aide, il est dit que ce script est remplacé par mysql_update. Meme problème, fichier inexistant sur le disque. Sur le web, on parle beaucoup de cette erreur, mais à chaque fois on dit d'exécuter mysql_fix_privilege_tables.
Les seuls scripts sql que j'ai trouvés ne concernent que la base phpmyadmin alors que celle qu'il faut corriger est mysql.
Est-ce quelqu'un disposerait de l'un des scripts mysql_fix_privilege_tables ou mysql_update, ou pourrait fournir une adresse où le télécharger ?
Merci d'avance.
A voir également:
- Mise à jour des privilèges dans MySql 5.0
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise à jour libre office - Accueil - Bureautique
- Mise a jour kindle - Guide
1 réponse
En fait, plutôt que easyphp, je te suggère wamp.
je vais tenter de te faire un copier coller du script fournit:
-- This script converts any old privilege tables to privilege tables suitable
-- for MySQL 4.0.
-- You can safely ignore all 'Duplicate column' and 'Unknown column' errors"
-- because these just mean that your tables are already up to date.
-- This script is safe to run even if your tables are already up to date!
-- On unix, you should use the mysql_fix_privilege_tables script to execute
-- this sql script.
-- On windows you should do 'mysql --force mysql < mysql_fix_privilege_tables.sql'
set storage_engine=MyISAM;
CREATE TABLE IF NOT EXISTS func (
name char(64) binary DEFAULT '' NOT NULL,
ret tinyint(1) DEFAULT '0' NOT NULL,
dl char(128) DEFAULT '' NOT NULL,
type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (name)
) CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE user add File_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
-- Detect whether or not we had the Grant_priv column
SET @hadGrantPriv:=0;
SELECT @hadGrantPriv:=1 FROM user WHERE Grant_priv LIKE '%';
ALTER TABLE user add Grant_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add References_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Index_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Alter_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
ALTER TABLE host add Grant_priv enum('N','Y') NOT NULL,add References_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Index_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Alter_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
ALTER TABLE db add Grant_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add References_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Index_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Alter_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
-- Fix privileges for old tables
UPDATE user SET Grant_priv=File_priv,References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv WHERE @hadGrantPriv = 0;
UPDATE db SET References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv WHERE @hadGrantPriv = 0;
UPDATE host SET References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv WHERE @hadGrantPriv = 0;
je vais tenter de te faire un copier coller du script fournit:
-- This script converts any old privilege tables to privilege tables suitable
-- for MySQL 4.0.
-- You can safely ignore all 'Duplicate column' and 'Unknown column' errors"
-- because these just mean that your tables are already up to date.
-- This script is safe to run even if your tables are already up to date!
-- On unix, you should use the mysql_fix_privilege_tables script to execute
-- this sql script.
-- On windows you should do 'mysql --force mysql < mysql_fix_privilege_tables.sql'
set storage_engine=MyISAM;
CREATE TABLE IF NOT EXISTS func (
name char(64) binary DEFAULT '' NOT NULL,
ret tinyint(1) DEFAULT '0' NOT NULL,
dl char(128) DEFAULT '' NOT NULL,
type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (name)
) CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE user add File_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
-- Detect whether or not we had the Grant_priv column
SET @hadGrantPriv:=0;
SELECT @hadGrantPriv:=1 FROM user WHERE Grant_priv LIKE '%';
ALTER TABLE user add Grant_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add References_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Index_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Alter_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
ALTER TABLE host add Grant_priv enum('N','Y') NOT NULL,add References_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Index_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Alter_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
ALTER TABLE db add Grant_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add References_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Index_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL,add Alter_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL;
-- Fix privileges for old tables
UPDATE user SET Grant_priv=File_priv,References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv WHERE @hadGrantPriv = 0;
UPDATE db SET References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv WHERE @hadGrantPriv = 0;
UPDATE host SET References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv WHERE @hadGrantPriv = 0;