• [^] # Re: re

    Posté par . En réponse au message La SQL se moque de moi ><. Évalué à 2.

    Relele Chris,

    Je viens de trouver quelque chose: (quelqu'un qui avait le meme probleme que toi au depart a qui on a dit)


    As-tu créé la base de données système ?

    Cettte base de données s'appelle mysql, elle contient différentes tables permettant de définir les privilèges d'accès aux données...

    Tu peux toujours vérifier en allant jeter un coup d'oeil dans le répertoire datadir de ton fichier de configuration my.cnf. Tu dois y trouver un sous répertoire mysql contenant différents fichiers de données et d'index.

    Si cela n'est pas le cas alors tu dois exécuter le script mysql_install_db qui va te créer ces différents fichiers.


    La personne a alors repondu ca


    J'ai réalisé ce que tu m'as proposé.

    #mysql_install_db
    Installing all prepared tables
    030719 8:10:01 /usr/sbin/mysqld: Shutdown Complete


    To start mysqld at boot time you have to copy support-files/mysql.server
    to the right place for your system

    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    This is done with:
    /usr/bin/mysqladmin -u root password 'new-password'
    /usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
    See the manual for more instructions.

    NOTE: If you are upgrading from a MySQL <= 3.22.10 you should run
    the /usr/bin/mysql_fix_privilege_tables. Otherwise you will not be
    able to use the new GRANT command!

    You can start the MySQL daemon with:
    cd / ; /usr/bin/mysqld_safe &

    You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
    cd sql-bench ; perl run-all-tests

    Please report any problems with the /usr/bin/mysqlbug script!

    The latest information about MySQL is available on the web at
    http://www.mysql.com
    Support MySQL by buying support/licenses at https://order.mysql.com

    ************************************

    #service mysql start
    Starting MySQL Server [ OK ]


    ********************************************
    # mysql
    ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    Même problème, mysqld contrairement à ce que indique mysql start [OK], ne fonctionne pas !



    Un autre lui a donc repondu


    Je viens d'avoir le même souci
    Apparemment, le problème provenait d'une ancienne installation : une ancienne database mysql existait déjà mais les droits n'étaient pas corrects.
    Du coup, la table des privilèges ne pouvait pas être lue et le daemon s'arrêtait aussitôt.
    ("Can't open privilege tables: Can't find file: './mysql/host.frm' ")

    AMHA, on devrait pouvoir s'en sortir en positionnant les permissions correctement.
    Mais perso, j'ai utilisé une solution plus radicale pour repartir sur des bases saines :

    En fait, c'est la solution proposée par PinPin, avec un petite astuce
    - supprimer les tables de la db mysql (astuce -> nécessaire, sinon l'étape suivante n'a aucun effet !)
    Sur gentoo, elles se trouvent dans /var/lib/mysql/mysql/
    Sur les autres distribs, se reporter à la variable datadir dans le fichier de config my.cnf

    - régénérer les tables système avec l'utilitaire mysql_install_db



    Et ca a marche ....


    Cela fonctionne maintenant !

    J'ai désinstallé mysql 4.0.11 , supprimé /var/lib/mysql

    Installé la version 4.0.13. (ensuite, plus de problème !)



    J espere qu avec ca , tout marchera =)