摘要
作為一個開發者,首先最關心的莫非就是跟自己工作相關的,然后再以此去拓展。那么,這里將進行第一步mysql服務器的部署。
系列文章
[CentOs7]安裝mysql
步驟
在使用命令
yum list mysql-server 安裝mysql的時候,發現沒有mysql的包。這時候,我們需要下載一個
下載包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

下載完成,安裝mysql-community-release-el7-5.noarch.rpm包

安裝mysql
sudo yum install mysql-server
等待安裝完成....

然后選擇Y


安裝完成后,mysql沒有密碼需要重置密碼才行。
mysql -u root

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
解決辦法
1、mysql服務未正常運行:
由於mysql的socket文件是由mysqld服務啟動時創建的,如果mysqld服務未正常啟動,socket文件自然也不會被創建,當然會找不到socket文件了。對於判斷mysql服務是否啟動,我們可以使用下面命令:
# 1、 端口是否打開 [root@aiezu.com ~]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 12207 mysql 14u IPv4 52350 0t0 TCP *:mysql (LISTEN) # 2、mysqld服務是否正在運行 [root@aiezu.com ~]# service mysqld status mysqld (pid 4717) is running...2、socket文件路徑在配置文件中設置不完整:
這一般是由於我們修改了mysql配置“/etc/my.cnf”引起的。比如我們修改了配置文件中“[mysql]”選項下的“socket”參數,而未指定“[client]”、“[mysql]”選項的“socket”參數,導致mysql使用默認的socket文件位置去尋找socket文件,從而導致未找到socket文件而引發此錯誤。
1、mysql服務未正常運行:
如果是服務未啟動,我們運行“service mysqld start”啟動服務即可。如果服務啟動不了,就去查看mysql服務日志,尋找原因並解決再啟動
[root@aiezu.com ~]# service mysqld start Starting mysqld: [ OK ] [root@aiezu.com ~]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 14109 mysql 10u IPv4 247183583 0t0 TCP *:mysql (LISTEN) [root@aiezu.com ~]# service mysqld status mysqld (pid 14109) is running...2、完善mysql配置文件:
如果確認mysql服務正常運行,還提示文章標題的此錯誤,那就是“/etc/my.cnf”配置文件的問題了。解決辦法是修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”選項和“[mysql]”選項,並使用這兩個選項下的“socket”參數值,與“[mysqld]”選項下的“socket”參數值,指向的socket文件路徑完全一致。如下:
[mysqld] datadir=/storage/db/mysql socket=/storage/db/mysql/mysql.sock ...省略n行(愛E族)... [client] default-character-set=utf8 socket=/storage/db/mysql/mysql.sock [mysql] default-character-set=utf8 socket=/storage/db/mysql/mysql.sock原文地址:http://www.aiezu.com/db/mysql_cant_connect_through_socket.html
如果仍解決不了問題,可嘗試下面的操作:
Check below things to fix the issue
Check the permission of mysql data dir using below command
# ls -ld /var/lib/mysql/
Check the permission of databases inside mysql data dir using below command
# ls -lh /var/lib/mysql/
Check the listening network tcp ports using below command
# netstat -ntlp
Check the mysql log files for any error using below command.
# cat /var/log/mysql/mysqld.log
Try to start mysql using below command
# mysqld_safe --defaults-file=/etc/my.cf

重啟服務
service mysqld start

修改用戶root的密碼
mysql -uroot -p
Enter password: < 輸入/etc/mysql/debian.cnf文件中[client]節提供的密碼>

退出

