Mysql5.7.35 启动mysql报错mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘

原因

因为没有路径也没有权限,所以创建此路径并授权给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文件。

Mysql5.7.35 启动mysql报错mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘_第1张图片

原因:

        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

Mysql5.7.35 启动mysql报错mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘_第2张图片

重新启动并执行Mysql登录命令,完美解决!!

service mysql restart
mysql -uroot -p

喜欢你就点个赞吧~~

你可能感兴趣的:(MySQL,Linux,mysql,mariadb,linux)