Mysql connect Problem

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von snow, 16.05.2007.

  1. snow

    snow Jungspund

    Dabei seit:
    17.01.2007
    Beiträge:
    20
    Zustimmungen:
    0
    Servus Leude,

    ich schlage mich hier gerade mit Mysql unter Solaris 10 rum.
    Folgendes Problem:

    ich kann mich nur mit dem root User an die Datenbank verbinden (mysql -u root -p)

    wenn ich versuche, mit einem weiteren User (z.b. der User "pillepalle") zu connecten erscheint die folgende Fehlermeldung:

    Aufruf: mysql -u pillepalle -p pillepalle (pillepalle DB existiert + Full Rechte für User pillepalle)

    ERROR 1045: Access denied for user: 'pillepalle@localhost' (Using password: YES)

    Es funktioniert auch nicht wenn ich diesem User globale "GRANT" Rechte gebe.

    Erst wenn ich z.b. den Server mit dem Schalter "--skip-grant-tables" können auch andere User auf die jeweiligen DB's connecten.

    Hier die die Informationen über die laufenden Mysql Prozesse:

    -bash-3.00# ps -ef |grep mysql
    root 966 1 0 11:37:40 pts/1 0:00 /bin/sh /usr/sfw/sbin/mysqld_safe --datadir=/var/mysql --pid-file=/var/mysql/Su
    mysql 987 966 0 11:37:40 pts/1 0:03 /usr/sfw/sbin/mysqld --basedir=/usr/sfw --datadir=/var/mysql --user=mysql --pid
    -bash-3.00#


    Hier meine my.cnf:

    -bash-3.00# cat /var/mysql/my.cnf
    # Example MySQL config file for medium systems.
    #
    # This is for a system with little memory (32M - 64M) where MySQL plays
    # an important part, or systems up to 128M where MySQL is used together with
    # other programs (such as a web server)
    #
    # You can copy this file to
    # /etc/my.cnf to set global options,
    # mysql-data-dir/my.cnf to set server-specific options (in this
    # installation this directory is /var/mysql) or
    # ~/.my.cnf to set user-specific options.
    #
    # In this file, you can use all long options that a program supports.
    # If you want to know which options a program supports, run the program
    # with the "--help" option.

    # The following options will be passed to all MySQL clients
    [client]
    #password = your_password
    port = 3306
    socket = /tmp/mysql.sock

    # Here follows entries for some specific programs

    # The MySQL server
    [mysqld]
    port = 3306
    socket = /tmp/mysql.sock
    #skip-locking
    key_buffer = 16M
    max_allowed_packet = 1M
    table_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    myisam_sort_buffer_size = 8M

    # Don't listen on a TCP/IP port at all. This can be a security enhancement,
    # if all processes that need to connect to mysqld run on the same host.
    # All interaction with mysqld must be made via Unix sockets or named pipes.
    # Note that using this option without enabling named pipes on Windows
    # (via the "enable-named-pipe" option) will render mysqld useless!
    #
    #skip-networking

    # Replication Master Server (default)
    # binary logging is required for replication
    log-bin

    # required unique id between 1 and 2^32 - 1
    # defaults to 1 if master-host is not set
    # but will not function as a master if omitted
    server-id = 1

    # Replication Slave (comment out master section to use this)
    #
    # To configure this host as a replication slave, you can choose between
    # two methods :
    #
    # 1) Use the CHANGE MASTER TO command (fully described in our manual) -
    # the syntax is:
    #
    # CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
    # MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
    #
    # where you replace <host>, <user>, <password> by quoted strings and
    # <port> by the master's port number (3306 by default).
    #
    # Example:
    #
    # CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
    # MASTER_USER='joe', MASTER_PASSWORD='secret';
    #
    # OR
    #
    # 2) Set the variables below. However, in case you choose this method, then
    # start replication for the first time (even unsuccessfully, for example
    # if you mistyped the password in master-password and the slave fails to
    # connect), the slave will create a master.info file, and any later
    # change in this file to the variables' values below will be ignored and
    # overridden by the content of the master.info file, unless you shutdown
    # the slave server, delete master.info and restart the slaver server.
    # For that reason, you may want to leave the lines below untouched
    # (commented) and instead use CHANGE MASTER TO (see above)
    #
    # required unique id between 2 and 2^32 - 1
    # (and different from the master)
    # defaults to 2 if master-host is set
    # but will not function as a slave if omitted
    #server-id = 2
    #
    # The replication master for this slave - required
    #master-host = <hostname>
    #
    # The username the slave will use for authentication when connecting
    # to the master - required
    #master-user = <username>
    #
    # The password the slave will authenticate with when connecting to
    # the master - required
    #master-password = <password>
    #
    # The port the master is listening on.
    # optional - defaults to 3306
    #master-port = <port>
    #
    # binary logging - not required for slaves, but recommended
    #log-bin

    # Point the following paths to different dedicated disks
    #tmpdir = /tmp/
    #log-update = /path-to-dedicated-directory/hostname

    # Uncomment the following if you are using BDB tables
    #bdb_cache_size = 4M
    #bdb_max_lock = 10000

    # Uncomment the following if you are using InnoDB tables
    #innodb_data_home_dir = /var/mysql/
    #innodb_data_file_path = ibdata1:10M:autoextend
    #innodb_log_group_home_dir = /var/mysql/
    #innodb_log_arch_dir = /var/mysql/
    # You can set .._buffer_pool_size up to 50 - 80 %
    # of RAM but beware of setting memory usage too high
    #innodb_buffer_pool_size = 16M
    #innodb_additional_mem_pool_size = 2M
    # Set .._log_file_size to 25 % of buffer pool size
    #innodb_log_file_size = 5M
    #innodb_log_buffer_size = 8M
    #innodb_flush_log_at_trx_commit = 1
    #innodb_lock_wait_timeout = 50

    [mysqldump]
    quick
    max_allowed_packet = 16M

    [mysql]
    no-auto-rehash
    # Remove the next comment character if you are not familiar with SQL
    #safe-updates

    [isamchk]
    key_buffer = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M

    [myisamchk]
    key_buffer = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M

    [mysqlhotcopy]
    interactive-timeout
    -bash-3.00#


    Hier noch das Startscript:

    -bash-3.00# vi /etc/rc3.d/S99mysql
    "/etc/rc3.d/S99mysql" 211 Zeilen, 5656 Zeichen
    #!/bin/sh
    # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
    # This file is public domain and comes with NO WARRANTY of any kind

    # MySQL daemon start/stop script.

    # Usually this is put in /etc/init.d (at least on machines SYSV R4 based
    # systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
    # When this is done the mysql server will be started when the machine is
    # started and shut down when the systems goes down.

    # Comments to support chkconfig on RedHat Linux
    # chkconfig: 2345 90 20
    # description: A very fast and reliable SQL database engine.

    # Comments to support LSB init script conventions
    ### BEGIN INIT INFO
    # Provides: mysql
    # Required-Start: $local_fs $network $remote_fs
    # Required-Stop: $local_fs $network $remote_fs
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: start and stop MySQL
    # Description: MySQL is a very fast and reliable SQL database engine.
    ### END INIT INFO

    # If you install MySQL on some other places than /usr/sfw, then you
    # have to do one of the following things for this script to work:
    #
    # - Run this script from within the MySQL installation directory
    # - Create a /etc/my.cnf file with the following information:
    # [mysqld]
    # basedir=<path-to-mysql-installation-directory>
    # - Add the above to any other configuration file (for example ~/.my.ini)
    # and copy my_print_defaults to /usr/bin
    # - Add the path to the mysql-installation-directory to the basedir variable
    # below.
    #
    # If you want to affect other MySQL variables, you should make your changes
    # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.

    basedir=

    # The following variables are only set for letting mysql.server find things.

    # Set some defaults
    datadir=/var/mysql
    pid_file=
    if test -z "$basedir"
    then
    basedir=/usr/sfw
    bindir=/usr/sfw/bin
    sbindir=/usr/sfw/sbin
    else
    bindir="$basedir/bin"
    sbindir="$basedir/sbin"
    fi

    PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin:$basedir/sbin
    export PATH

    mode=$1 # start or stop

    case `echo "testing\c"`,`echo -n testing` in
    *c*,-n*) echo_n= echo_c= ;;
    *c*,*) echo_n=-n echo_c= ;;
    *) echo_n= echo_c='\c' ;;
    esac

    parse_arguments() {
    for arg do
    case "$arg" in
    --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
    --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
    --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
    esac
    done
    }

    # Get arguments from the my.cnf file,
    # groups [mysqld] [mysql_server] and [mysql.server]
    if test -x ./bin/my_print_defaults
    then
    print_defaults="./bin/my_print_defaults"
    elif test -x $bindir/my_print_defaults
    then
    print_defaults="$bindir/my_print_defaults"
    elif test -x $bindir/mysql_print_defaults
    then
    print_defaults="$bindir/mysql_print_defaults"
    else
    # Try to find basedir in /etc/my.cnf
    conf=/var/mysql/my.cnf
    "/etc/rc3.d/S99mysql" 211 Zeilen, 5662 Zeichen
    -bash-3.00# clear
    -bash-3.00# cat /etc/rc3.d/S99mysql
    #!/bin/sh
    # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
    # This file is public domain and comes with NO WARRANTY of any kind

    # MySQL daemon start/stop script.

    # Usually this is put in /etc/init.d (at least on machines SYSV R4 based
    # systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
    # When this is done the mysql server will be started when the machine is
    # started and shut down when the systems goes down.

    # Comments to support chkconfig on RedHat Linux
    # chkconfig: 2345 90 20
    # description: A very fast and reliable SQL database engine.

    # Comments to support LSB init script conventions
    ### BEGIN INIT INFO
    # Provides: mysql
    # Required-Start: $local_fs $network $remote_fs
    # Required-Stop: $local_fs $network $remote_fs
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: start and stop MySQL
    # Description: MySQL is a very fast and reliable SQL database engine.
    ### END INIT INFO

    # If you install MySQL on some other places than /usr/sfw, then you
    # have to do one of the following things for this script to work:
    #
    # - Run this script from within the MySQL installation directory
    # - Create a /etc/my.cnf file with the following information:
    # [mysqld]
    # basedir=<path-to-mysql-installation-directory>
    # - Add the above to any other configuration file (for example ~/.my.ini)
    # and copy my_print_defaults to /usr/bin
    # - Add the path to the mysql-installation-directory to the basedir variable
    # below.
    #
    # If you want to affect other MySQL variables, you should make your changes
    # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.

    basedir=

    # The following variables are only set for letting mysql.server find things.

    # Set some defaults
    datadir=/var/mysql
    pid_file=
    if test -z "$basedir"
    then
    basedir=/usr/sfw
    bindir=/usr/sfw/bin
    sbindir=/usr/sfw/sbin
    else
    bindir="$basedir/bin"
    sbindir="$basedir/sbin"
    fi

    PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin:$basedir/sbin
    export PATH

    mode=$1 # start or stop

    case `echo "testing\c"`,`echo -n testing` in
    *c*,-n*) echo_n= echo_c= ;;
    *c*,*) echo_n=-n echo_c= ;;
    *) echo_n= echo_c='\c' ;;
    esac

    parse_arguments() {
    for arg do
    case "$arg" in
    --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
    --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
    --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
    esac
    done
    }

    # Get arguments from the my.cnf file,
    # groups [mysqld] [mysql_server] and [mysql.server]
    if test -x ./bin/my_print_defaults
    then
    print_defaults="./bin/my_print_defaults"
    elif test -x $bindir/my_print_defaults
    then
    print_defaults="$bindir/my_print_defaults"
    elif test -x $bindir/mysql_print_defaults
    then
    print_defaults="$bindir/mysql_print_defaults"
    else
    # Try to find basedir in /etc/my.cnf
    conf=/var/mysql/my.cnf
    print_defaults=
    if test -r $conf
    then
    subpat='^[^=]*basedir[^=]*=\(.*\)$'
    dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
    for d in $dirs
    do
    d=`echo $d | sed -e 's/[ ]//g'`
    if test -x "$d/bin/my_print_defaults"
    then
    print_defaults="$d/bin/my_print_defaults"
    break
    fi
    if test -x "$d/bin/mysql_print_defaults"
    then
    print_defaults="$d/bin/mysql_print_defaults"
    break
    fi
    done
    fi

    # Hope it's in the PATH ... but I doubt it
    test -z "$print_defaults" && print_defaults="my_print_defaults"
    fi

    #
    # Test if someone changed datadir; In this case we should also read the
    # default arguments from this directory
    #

    extra_args=""
    if test "$datadir" != "/var/mysql"
    then
    extra_args="-e $datadir/my.cnf"
    fi

    parse_arguments `$print_defaults $extra_args mysqld mysql_server mysql.server`

    #
    # Set pid file if not given
    #
    if test -z "$pid_file"
    then
    pid_file=$datadir/`/usr/bin/hostname`.pid
    else
    case "$pid_file" in
    /* ) ;;
    * ) pid_file="$datadir/$pid_file" ;;
    esac
    fi

    # Safeguard (relative paths, core dumps..)
    cd $basedir

    case "$mode" in
    'start')
    # Start daemon

    if test -x $sbindir/mysqld_safe
    then
    # Give extra arguments to mysqld with the my.cnf file. This script may
    # be overwritten at next upgrade.
    $sbindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 &
    # Make lock for RedHat / SuSE
    if test -w /var/lock/subsys
    then
    touch /var/lock/subsys/mysql
    fi
    else
    echo "Can't execute $sbindir/mysqld_safe from dir $basedir"
    fi
    ;;

    'stop')
    # Stop daemon. We use a signal here to avoid having to know the
    # root password.
    if test -s "$pid_file"
    then
    mysqld_pid=`cat $pid_file`
    echo "Killing mysqld with pid $mysqld_pid"
    kill $mysqld_pid
    # mysqld should remove the pid_file when it exits, so wait for it.

    sleep 1
    while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
    do
    [ -z "$flags" ] && echo $echo_n "Wait for mysqld to exit$echo_c" || echo $echo_n ".$echo_c"
    flags=a$flags
    sleep 1
    done
    if [ -s $pid_file ]
    then echo " gave up waiting!"
    elif [ -n "$flags" ]
    then echo " done"
    fi
    # delete lock for RedHat / SuSE
    if test -f /var/lock/subsys/mysql
    then
    rm -f /var/lock/subsys/mysql
    fi
    else
    echo "No mysqld pid file found. Looked for $pid_file."
    fi
    ;;

    'restart')
    # Stop the service and regardless of whether it was
    # running or not, start it again.
    $0 stop
    $0 start
    ;;

    *)
    # usage
    echo "Usage: $0 start|stop|restart"
    exit 1
    ;;
    esac
    -bash-3.00#



    Greetz,
    snow
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bitmuncher, 16.05.2007
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Was sagen die die MySQL-Logs, wenn du mit dem User verbinden willst?
     
  4. #3 lordlamer, 16.05.2007
    lordlamer

    lordlamer Haudegen

    Dabei seit:
    15.05.2003
    Beiträge:
    703
    Zustimmungen:
    0
    Ort:
    hamburg
  5. #4 bitmuncher, 16.05.2007
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Es stellt sich nur die Frage warum er es darf, wenn er skip-grant-tables aktiviert hat, wenn ich das richtig verstanden habe.
     
  6. #5 lordlamer, 16.05.2007
    lordlamer

    lordlamer Haudegen

    Dabei seit:
    15.05.2003
    Beiträge:
    703
    Zustimmungen:
    0
    Ort:
    hamburg
    was hat skip-grant-tables mit dem eigentlichen login zu tun?!
     
  7. #6 snow, 16.05.2007
    Zuletzt bearbeitet: 16.05.2007
    snow

    snow Jungspund

    Dabei seit:
    17.01.2007
    Beiträge:
    20
    Zustimmungen:
    0
    @ lordlamer

    Wen der Server mit dem Schalter "--skip-grant-tables" gestartet wird, haben alle User globale GRANT Rechte:

    mysqld --help:
    --skip-grant-tables > Start without grant tables. This gives all users FULL ACCESS to all tables!


    Danke, jetzt gehts:)
    Ich glaube es war ein Problem von phpmyadmin.
    Habe den User nochmal über die mysql console angelegt und danach hats geklappt:

    mysql -u pillepalle -h localhost -D pillepalle -p
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 lordlamer, 16.05.2007
    lordlamer

    lordlamer Haudegen

    Dabei seit:
    15.05.2003
    Beiträge:
    703
    Zustimmungen:
    0
    Ort:
    hamburg
    Ja das ist schon richtig. Hat doch aber wie gesagt nichts mit dem eigentlichen Login zu tun. Dafür brauchst du immernoch die richtigen Daten.

    Mfg Frank
     
  10. #8 snow, 16.05.2007
    Zuletzt bearbeitet: 16.05.2007
    snow

    snow Jungspund

    Dabei seit:
    17.01.2007
    Beiträge:
    20
    Zustimmungen:
    0
    ok, jetzt gehts auch, wenn ich die User über phpmyadmin anlege.
    Keine Ahnung was ich gemacht habe:think: , aber es funzt:)
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    @ all
    sorry, wegen der verwirrung
    ich hab mich nur zu dumm angestellt:)
     
Thema:

Mysql connect Problem

Die Seite wird geladen...

Mysql connect Problem - Ähnliche Themen

  1. PHP5 + MYSQL auf Ubuntu: Fatal Error called to undefined function mysql_connect()

    PHP5 + MYSQL auf Ubuntu: Fatal Error called to undefined function mysql_connect(): Hi all, hab ein dickes Problem was ich selber einfach nicht mehr gelöst bekomme habe mich gestern 3 Stunden durchgegoogelt und verschiedene...
  2. MySQL - sleep - Connections trennen

    MySQL - sleep - Connections trennen: Hallo zusammen! Ich möchte gerne MySQL - Verbindungen vom Status "sleep" nach 300 Sekunden trennen. Wir haben jedoch ein paar Backupscripte,...
  3. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

    Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2): HI leute, ich hatte Zend-Platform gestern installiert und heute wieder runter geworfen und seitdem hade ich das problem. Habe dann mittels...
  4. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.so

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.so: Hallo ich habe da ein Problem und weiß nicht weiter... Seit ein paar Tagen beschäftige ich mich mit linux und freebsd. Ich will MySql auf...
  5. [SQL]Fehler: Can't connect to local MySQL server through socket..

    [SQL]Fehler: Can't connect to local MySQL server through socket..: Hallo Zusammen, ich habe einen vServer bei 1und1 stehen. Dieser lief bis gestern Problemlos( auch SQL). Nachdem ich nun gestern ein Board...