若是/etc/init.d/下面没有mysqld的话,service mysqld start也是很差使的,一样,chkconfig mysqld on也是不能用mysql
解决办法:sql
将mysql的mysql.server这个文件替换上去便可socket
首先到mysql的目录中,查找下spa
[root@test6_100 mysql]# find ./* -name mysql.server
./support-files/mysql.server
果真在这里,将这个文件添加到/etc/init.d/下,而且命名为mysqld便可code
cp /usr/local/mysql/.support-files/mysql.server /etc/init.d/mysqld
从新启动server
/etc/init.d/mysqld start
Starting MySQL........... SUCCESS!
可是启动后,查看进程都在,可是提示这个错误进程
mysql -uroot -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
这个是由于/etc/my.cnf文件中没有指定sock文件的位置形成的,这个简单,直接作一个软链接便可
input
[root@test6_100 ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@test6_100 ~]# cd /var/lib/mysql/
[root@test6_100 mysql]# ll
total 0
lrwxrwxrwx 1 root root 15 Oct 24 03:21 mysql.sock -> /tmp/mysql.sock/tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@test6_100 mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23-log MySQL Community Server (GPL)
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>
还有一种办法就是在没有这个mysqld的状况下,用mysql/bin下的文件来启动也是能够的it
启动:io
mysqld_safe --user=mysql &
后面的 & 必定要带上!!!!
中止:
mysqladmin -uroot -p[password] shutdown