2.1 [手把手教你搭建] 之 在linux上搭建mysql的常见问题(持续更新中)

执行service mysql start时可能会出现如下问题:

1. 出现mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log'字样

mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

解决办法:

问题中可以看到与mysqld_safe的配置中的/var/log/mariadb/mariadb.log文件有关,我们检查一下本地是否有这个mariadb.log,如下图:

图中可见,/var/log目录中,并没有mariadb目录,此时应该创建该目录并赋予权限,代码如下: 

# 创建目录及文件
mkdir /var/log/mariadb     
touch /var/log/mariadb/mariadb.log
# 授权
chown -R mysql:mysql /var/log/mariadb/

再次执行 service mysql start 即可。 

2. 出现mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.时,参照如下处理:

mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
 ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

从报错信息看是socket文件不存在,我们检查一下服务器的/var/lib/mysql中是否真的有这个文件,如图:

从图中看到,这个错误其实在/var/lib中没有mysql目录导致的,此时我们进行对应的目录创建及授权操作即可:

# 创建目录及文件
mkdir /var/lib/mysql     
# 授权
chown -R mysql:mysql /var/lib/mysql/

再次执行 service mysql start 即可。

3. 出现The server quit without updating PID file (/data/mysql/mysql.pid).时,可能是mysql已经执行了,执行如下命令即可杀掉进程

ps -ef | grep mysqld | awk -F " " '{print $2}' | xargs -I {} kill {}

当执行mysql -u root -p时,可能会出现“-bash: mysql: 未找到命令”这个错误信息,解决办法如下:

#执行代码查看打印的结果中是否包含mysql:
echo $PATH

如上图所示,确实不包含mysql,则我们对/etc/profile文件的export PATH 中增加mysql的环境配置即可:

vim /etc/profile

 在文件中找到export PATH=开头的语句,若没有该语句则直接复制如下语句放在文件最后\

export PATH=/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/bin:/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/lib:$PATH

若文件中有export PATH= 开头的语句,则在语句最后追加如下内容:

:/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/bin:/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/lib:$PATH

例如:我的/etc/profile文件中有export PATH=开头的语句,内容如下:

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

追加内容后,export PATH=开头的语句内容如下:

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/bin:/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/lib:$PATH

内容修改完成后,执行如下代码重新加载profile文件

source /etc/profile

再次执行mysql -u root -p 发现问题已经解决。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值