Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

前端 未结 7 1039
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-13 02:30

I am trying to run mysql client on my terminal. I have installed the latest mysql gem.

 ➜  ~ git:(master) ✗ ruby -v
    ruby 1.8.7 (2010-01-10 patchlevel 24         


        
相关标签:
7条回答
  • 2020-12-13 02:43

    In my case, I don't got tmp folder setting up right. What I end up with these steps:

    1. cd /
    
    2. ln -s private/tmp /tmp
    
    0 讨论(0)
  • 2020-12-13 02:45

    It looks like you need a MySQL server installed, there is install packages on mysql's site, or you can install through macports (I assume from the darwin11 line). I installed mine via ports, and the socket lives in /opt/local/var/run/mysql5/.

    0 讨论(0)
  • 2020-12-13 02:47

    Run the following on the command line :

    $ mysql.server start
    
    0 讨论(0)
  • 2020-12-13 02:52

    this post helped did it for me, I'll rewrite the steps here (note: i'll be also writing the output of your commands.. just so that you know you're on track)

    first stop the server if running:

    [root@servert1 ~]# /etc/init.d/mysqld stop
    Stopping MySQL: [ OK ]
    

    run an sql dameon on a separate thread

    [root@servert1 ~]# mysqld_safe --skip-grant-tables &    
    [1] 13694    
    [root@servert1 ~]# Starting mysqld daemon with databases from /var/lib/mysql
    

    open a separate shell window and type

    [root@servert1 ~]# mysql -u root
    
    Welcome to the MySQL monitor. Commands end with ; or \g.
    
    Your MySQL connection id is 1
    
    Server version: 5.0.77 Source distribution
    
    
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    

    start using mysql

    mysql> use mysql; 
    
    Reading table information for completion of table and column names
    
    You can turn off this feature to get a quicker startup with -A
    
    
    
    Database changed
    

    update the user table manually with your new password (note: feel free to type mysql> show tables; just to get a perspective on where you are)

    NOTE: from MySQL 5.7 passwords are in the authenication_string table, so the command is update user set authentication_string=password('testpass') where user='root';

    mysql> update user set password=PASSWORD("testpass") where User='root';
    
    Query OK, 3 rows affected (0.05 sec)
    
    Rows matched: 3 Changed: 3 Warnings: 0
    

    flush privileges (i'm not sure what this privileges is all about.. but it works)

    mysql> flush privileges; 
    
    Query OK, 0 rows affected (0.04 sec)
    

    quit

    mysql> quit
    
    Bye
    

    stop the server

    NOTE: on OS X or macOS, mysql.server is located at /usr/local/mysql/support-files/.

    mysql.server stop
    
    Shutting down MySQL
    .130421 09:27:02 mysqld_safe mysqld from pid file /usr/local/var/mysql/mycomputername.local.pid ended
     SUCCESS! 
    [2]-  Done                    mysqld_safe --skip-grant-tables
    

    kill the other shell window that has the dameon running (just to make sure)

    now you are good to go! try it:

    [root@servert1 ~]#  mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.6.10 Source distribution
    
    Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    

    done!

    0 讨论(0)
  • 2020-12-13 02:56

    Also, if you got this error and installed mysql via Homebrew, I found that this works (though you need to change "5.6.12" to your own version):

    /usr/local/Cellar/mysql/5.6.12/bin/mysql.server restart

    I just created a file ~/restartMysql.sh in my home directory (with only the line above in it) so that I can just use this whenever MySQL is acting up

    0 讨论(0)
  • 2020-12-13 03:00

    I hope this helps somebody. I was getting the same error, but seemingly for a much different reason than other people.

    I have 2 CentOS machines.

    I copied my.cnf to the new machine, not realizing that I had upgraded the old machine to MySQL 5.6, and the new machine had 5.5 installed. When I commented out the 5.6-only directives, MySQL started as expected. (and now I am running the upgrade so I can apply the massively useful innodb_buffer_pool_dump_at_shutdown and innodb_buffer_pool_load_at_startup directives)

    I would suggest trying a bare minimum my.cnf. If MySQL starts up, then you've found the source of your problem.

    0 讨论(0)
提交回复
热议问题