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
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
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/.
Run the following on the command line :
$ mysql.server start
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!
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
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.