原因
因为没有路径也没有权限,所以创建此路径并授权给mysql用户
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
# 用户组及用户
chown -R mysql:mysql /var/log/mariadb/
/usr/local/mysql/support-files/mysql.server start
另外,解决完这个问题之后,启动又报了下面这个错。。。。。。。。
Starting MySQL.2022-10-10T09:07:43.608763Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/winner01.pid).
解决方案:
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
登录Mysql的时候又又又报错了,真的要崩溃了,去网上查找了资料,找到了解决办法。。。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
报错的大致意思是找不到tmp下的mysql.sock文件。
原因:
1)mysql服务没启动;启动:service mysql start
2)sock文件路径设置错误 ;
3)sock文件所在目录的权限问题;
4)这个文件直接丢失了
解决
1)检查服务有没有启动
ps -ef | grep mysql
2)在my.cnf文件中查看socket参数指定的路径,查看该路径有没有访问权限
3)前往该路径下查看是否存在mysql.sock文件,如果sock文件不存在,可先尝试使用find命令搜索该文件,如果搜索不到,可重启mysql服务,会自动生成一个。然后将该文件复制到soctek参数指定的路径下去。或者建立一个软链接,比如这个文件在/var/lib/mysql.sock,socket参数指定的路径是/tmp/mysql.sock。我们就可以这样创建:ln -s /var/lib/mysql.sock /tmp/mysql.sock,创建完之后,再尝试连接。
a. 首先找到mysql.sock所在的目录
find / -name mysql.sock
b. 建立/tmp/mysql.sock软连接到该文件上。
建立软连接(要写绝对路径):
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
如果手残软连接建错了可以用以下命令删除掉再重新建立:
rm -rf /tmp/mysql.sock
4)如果依旧错误,可使用TCP/IP来连接
mysql -u root -h 数据库服务器的IP -p
或 mysql -u root -h 127.0.0.1 -p
重新启动并执行Mysql登录命令,完美解决!!
service mysql restart
mysql -uroot -p
喜欢你就点个赞吧~~