MySQL Study案例之--MySQL客户端连接故障
系统环境:
操作系统:RedHat EL6
DB Soft: MySQL 5.6.4-m7
在系统安装了源码包 MySQL 5.6.4-m7版本,启动服务后,客户端连接失败 !
[root@rh6 ~]# cd /usr/local/mysql/
[root@rh6 mysql]# cd bin
[root@rh6 bin]# ./mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13)
--连接server失败
[root@rh6 bin]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.66 Source distribution
Copyright (c) 2000, 2012, 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>
--连入了系统自带的5.1.66的版本
解决方法:
查看配置文件,并修改[root@rh6 bin]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
更改socket参数:
[root@rh6 bin]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock
#socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
~
验证:停止mysqld进程:
[root@rh6 bin]# ps -ef |grep mysql
root 4482 4456 0 12:27 pts/3 00:00:00 /bin/sh /usr/bin/mysqld_safe --user=mysql
mysql 4553 4482 0 12:27 pts/3 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root 4590 4456 1 12:29 pts/3 00:00:00 grep mysql
[root@rh6 bin]# pkill mysql
[root@rh6 bin]# ps -ef |grep mysql150206 12:30:03 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
root 4597 4456 0 12:30 pts/3 00:00:00 grep mysql
[1]+ Done mysqld_safe --user=mysql (wd: ~)
(wd now: /usr/local/mysql/bin)
[root@rh6 bin]# ps -ef |grep mysql
root 4599 4456 0 12:30 pts/3 00:00:00 grep mysql
重新启动mysqld进程:
[root@rh6 bin]# ./mysqld_safe &
[1] 4602
[root@rh6 bin]# 150206 12:30:17 mysqld_safe Logging to '/var/log/mysqld.log'.
150206 12:30:18 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
客户端连接成功:
[root@rh6 bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.4-m7 Source distribution
Copyright (c) 2000, 2011, 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>
mysql> status
--------------
./mysql Ver 14.14 Distrib 5.6.4-m7, for Linux (x86_64) using EditLine wrapper
Connection id: 3
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.6.4-m7 Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 26 min 33 sec
Threads: 1 Questions: 6 Slow queries: 0 Opens: 66 Flush tables: 1 Open tables: 59 Queries per second avg: 0.003
--------------
mysql>
@至此,问题解决