MySQL启动错误:连接到failedtostartlsb : startandstopmysql .时出现数据库错误: error2002(hy000 ) : can’tconnecttolocalmysql MySQL.sock’)2)今天,在配置中部署了MySQL服务器,安装成功后自动启动了MySQL服务。 此时,缺省MySQL的数据位于/可用河马/lib/mysql下。 我想把他改为/MySQL/MySQL
系统停止MySQL
ss -antup | grep mysql
mysql服务已停止
修改配置文件
vim /etc/my.cnf
datadir=/mysql/mysql-data
socket=/MySQL/MySQL-data/MySQL.sock
mkdir -p /mysql/mysql
服务启动:系统开始MySQL
结果: failedtostartlsb : startandstopmysql。
经过故障排除,与原始data目录相比,发现是权限问题
查看配置文件
已发现ps -ef | grep mysql,启动用户为mysql
于是:
chown MySQL 3360 MySQL/MySQL/MySQL-data
系统开始MySQL启动成功
然后进入数据库
MYS QL-u * * *-p * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
结果: error2002(hy000 ) : can’tconnecttolocalmysqlserverthroughsocket‘/能干的河马/lib/MySQL/MySQL.sock’2 ) ) )
在网上查了资料,我们连接数据库的方式是默认使用host=localhost进行连接。 使用localhost连接到mysql服务器端时,mysql客户端会认为是本地连接,因此会尝试使用套接字文件方法进行连接。 (套接字文件方式比ip :端口方式更有效。 )。 此时,根据在设定文件/etc/my.cn中设定的套接字路径进行查找。 您已修改了mysqld或服务器的套接字路径,但尚未定义客户端的套接字文件。 即使返回默认路径并在/能干的河马/lib/mysql/mysql.sock上查找,也可能找不到
解决方法:
修改配置文件
vim /etc/my.cnf
[client]
default-character-set=utf8
socket=/MySQL/MySQL-data/MySQL.sock
[mysql]
default-character-set=utf8
socket=/MySQL/MySQL-data/MySQL.sock
重新启动数据库: systemctl restart mysql
mysql连接成功