远程连接mysql服务器出现的错误解决

1. 远程连接mysql服务器

可以先用windows平台的工具访问linux系统上的mysql服务器,如果提示不让远程登录,看下面的解决办法

常见错误分析:

1.不让远程登录的解决办法

首先注意:设置完成后,root的密码变成了mysql

不让远程登录:如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)
mysql -uroot -p
#(执行下面的语句 .:所有库下的所有表 %:任何IP地址或主机都可以连接)

   输入命令说明:GRANT ALL PRIVILEGES ON *.* TO ‘用户名’@’%’ IDENTIFIED BY ‘你的密码’ WITH GRANT OPTION; 
   让客户端在远程登录拥有权限,密码重新设置成mysql
   输入命令:GRANT ALL PRIVILEGES ON  *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION;
   输入命令:FLUSH PRIVILEGES;   将命令写入授权表
   让客户端在本地登录拥有权限,密码重新设置成mysql
   输入命令:grant all privileges on *.* to root@"localhost" identified by "mysql" with grant option;
   输入命令:FLUSH PRIVILEGES;

2.执行mysql -uroot -p
或者
第一次安装完mysql后 执行/usr/bin/mysql_secure_installation 脚本,
出现 Enter current password for root (enter for none): 点击回车后出现下面的错误
mysql Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

错误原因:/var/lib/mysql目录中socket文件不存在。

连接mysql服务器有两种方式:tcp连接,通过socket文件连接。通过socket文件,启动mysql服务,mysql服务会自动生成一个sock文件,生成的sock文件默认放在 --datadir=/var/lib/mysql,mysql默认从/var/lib/mysql目录读取sock文件。

解决办法:
1、看看/var/lib/mysql/mysql 有没有mysql.sock文件
2、没有mysql.sock,重启mysql服务,看看有没有。
3、没有的话,ps aux|grep mysql|grep -v ‘grep’ 查看mysql服务生成的sock在哪个目录,看看这个目录有没有。
4、如果mysql服务生成在其他目录,解决办法有:
方法一 修改mysql服务生成的目录,在/etc/my.cnf 中[mysqld] socket
首先确认在etc/下有没有my.cnf文件
如果是rpm安装的mysql,默认这里没有.需要将usr/share/mysql下的my-medium.cnf拷贝到/etc/下并改名成my.cnf
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

方法二 mysql从/var/lib/mysql/读取sock文件,建立一个软连接,或者copy过来

方法三 还可以找到当前的mysql进程,将他删掉,重新启动
情况:第一次启动失败,进程没有关闭,第二次开服务无法启动

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值