启动mysql时报错:
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
071112 00:22:06 mysqld ended
查看日志:
#less /var/log/mysqld.log
其中有一段如下:
071112 0:22:06 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
071112 0:22:06 [ERROR] Can't start server: can't create PID file: No such file or directory
071112 00:22:06 mysqld ended
#cd /var/run/
#ls
mysqld目录不存在,创建它:
#mkdir /var/run/mysqld
#cd /var/run/mysqld
创建文件mysqld.pid:
#touch mysqld.pid
#cd..
#chown -R mysql mysqld .
#cd /usr/local/mysql/
#bin/mysqld_safe --user=mysql &
nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql
能正常启动
#bin/mysqladmin -u root password root
又出错
[root@localhost mysql]# bin/mysqladmin -u root password root
bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
[root@localhost mysql]# bin/mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
分析:是/tmp/mysql.sock 不存在
# cd /var/lib/mysql/
由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,创建符号连接:
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
# bin/mysql -u root
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.45 MySQL Community Server (GPL)
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
关于 mysql.sock 的问题:
mysql.sock 是个 UNIX 域 socket 文件,这种 socket 效率比基于TCP/IP的 socket 高,但是缺点是不能跨机器连接,mysql 提供这个东西是为了改善本地连接的速度,其实完全可以不要,重新启动会自己生成,在找不到 mysql.sock 时可以用命令
$ mysqladmin -h 127.0.0.1 -P 3306 -u root -p shutdown
来关闭
或这样连接
$ mysql -h 127.0.0.1 -P 3306 -u user -p
修改root 密码
#cd /usr/local/mysql/
#bin/mysqladmin -u root -p password yourpassword
一切ok。
如果还是不可以 注意一下3306端口是否被占用 如果就去掉它哪怕他就是mysql的监听去掉后用
./mysql -u root -p 命令再输入密码 注意:-p 后不要直接加密码我是没成功
shell> chgrp -R mysql /usr/local/mysql
shell> sudo chown -R mysql:mysql /var/lib/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &