linux下使用localhost和127.0.0.1都不能连接的解决思路

linux下刚安装了mysql,尝试写了程序连接mysql,出现了只有用本地ip地址才能连接,而127.0.0.1和localhost都不能访问

解决这个问题主要查看3个方向

1.hosts中是否有ip映射

2.mysql数据库中user表中的用户信息是否正确

我解决的方向,

1.hosts查看了有映射127.0.0.1和localhost的信息。

2.用户信息有误

问题在这里:刚安装的时候记得用户和密码都是root,而且配置ip地址通过程序或者其他客户端软件访问是能够访问成功的。

但是退出重启系统后在本地使用命令(其他客户端等都访问正常)

mysql -uroot -proot

访问不了,提示密码

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

百思不得其解...

没办法,只有重新修改用户密码了

方法1

# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(‘newpassword‘) where USER=‘root‘;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

然后在连接mysql,成功。问题完美解决,localhost和127.0.0.1也都能访问了

可能还有其他原因

原因2-配置文件错误:
检查etc下面的my.cnf如下内容:

#password   = your_password
port     = 3306
socket     = /usr/mysql-data/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port     = 3306
socket     = /usr/mysql-data/mysql.sock

mysql修改密码方法有几种

方法一   

使用phpMyAdmin

  (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。   

方法二   

  使用mysqladmin。输入  

  mysqladmin -u root -p oldpassword newpasswd  

执行这个命令后,需要输入root的原密码,这样root的密码将改为newpasswd。同样,把命令里的root改为你的用户名,你就可以改你自己的密码了。

  当然如果你的mysqladmin连接不上mysql

  server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。   

  下面的方法都在mysql提示符下使用,且必须有mysql的root权限:   

方法三   

  mysql> INSERT INTO mysql.user (Host,User,Password) VALUES(‘%‘,‘system‘, PASSWORD(‘manager‘));

  mysql> FLUSH PRIVILEGES   

  确切地说这是在增加一个用户,用户名为system,密码为manager。注意要使用PASSWORD函数,然后还要使用FLUSH

  PRIVILEGES来执行确认。  

时间: 2024-10-08 13:17:49

linux下使用localhost和127.0.0.1都不能连接的解决思路的相关文章

Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)

一.登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | utf8 || character_set_connectio

Redhat linux下安装oracle11r2手册+截图_toto_V1.0

 在Linux下安装配置Oracle 11g R2详细过程(在整个过程中是在虚拟机下模拟的,虚拟机磁盘设置成了100GB) 1.Linux环境配置准备 环境:Linux:Redhat Enterprise 6,DB:Oracle 11gR2 X64,Oracle安装到/home/oralce_11目录下. 配置过程如下:(大部分是网上的内容,个人也是按照网上步骤来的) 1) 检查基本需求(对于牛逼的服务器来说,这个肯定是满足要求的,可以跳过) 内存大小 grep MemTotal /proc

Linux 下从头再走 GTK+-3.0 (一)

原本由于项目需求在 Linux 下学习过一段时间的 GTK+2.0 图形开发,时隔一段时间,想真正深入学习一下 GTK . 这次直接从头学习 GTK+-3.0 ,并写下博文便于日后查看,也方便新手入门. 安装环境参考: Fedora:http://www.cnblogs.com/watsonlong/archive/2011/04/06/2006989.html Ubuntu:http://www.cnblogs.com/niocai/archive/2011/07/15/2107472.htm

Linux下安装二进制版mysql-8.0.15

1.添加用户## 添加用户组groupadd mysql## 添加用户,指定用户home目录useradd -g mysql mysql -d /data/mysql## 解压下载的mysql二进制包tar -xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz -C /data/mysql## 如果需要修改目录名称,mv修改目录名称,不多说明## 因/data目录有比较大的磁盘空间,防止后期数据量太大,导致磁盘空间不够,将mysql的包及相关配置放在/d

Windows、Linux下文件操作(写、删除)错误的产生原因、及解决方法

catalog 0. 引言 1. Linux平台上涉及的File IO操作 2. Windows平台上涉及的File IO操作 0. 引言 本文试图讨论在windows.linux操作系统上基于C库进行文件IO操作时,可能遇到的错误,及其解决方法,主机安全攻防产品除了需要将安全攻防上的领域知识固化到程序实现上之外,还极度依赖关联系统本身.编程语言库的特性,原则上,并不是所有的安全需求都能100%地落实到程序设计中,这需要我们对操作系统.编程语言本身具有较深的理解 Relevant Link: h

经验分享-关于在linux下删除大文件后,磁盘空间没有得到释放的解决办法

这个博客很早就注册啦,但是一直没有更新,最近辞职闭关清修,争取每天写一篇技术博客-- 闲话不多说,直接开始切入正题啦- 事情发生在2014年的4月份,人生中的第一次跳槽,成功的入职一家刚刚起步的 CDN的公司,做了一名不称职的研发运维,当时正好赶上前任运维离职,最开始公司之前用的是多squid,由于公司现在的团队中对squid比较了解的人都走光了,在加上多squid有一个严重的弊端,就是本机多个squid进程之间缓存的内容是无法共享的,有的时候同一个文件则会被缓存多分,十分浪费磁盘空间,由于本机

在Linux下编译生成动态库*.so后发现用dlopen打开时出错解决办法

在Linux下有时候编译的源文件可能有语法错误,但是很多时候还是能生成动态库,这个时候,用dlopen打开时就没有办法返回句柄,导致能生成动态库,却无法打开,这个时候最好的办法是不用dlopen动态调用的方法,而是使用静态调用的方法. 1.在测试文件中加上静态调用需要的头文件,同时将此头文件放在与测试文件同一个目录下,以便测试文件能够找到该头文件 2.将生成的库定位输出到/usr/lib(如果是64位系统,则是在/usr/lib64)文件夹中 3.编译时参考我的代码, gcc main.c -L

Linux 下从头再走 GTK+-3.0 (六)

在 GTK3 中增加了一个 GtkApplicaton 类,便于我们处理多窗口程序,同时有了 GtkApplication 我们也更容易创建灵活,易用,界面美观的应用程序. 在前面的几个例子中,演示了如何利用 GtkApplication 直接创建单个窗口,并知道了在哪里设计我们的 UI .以及简单尝试了 GtkBuilder . 接下来,我们走进 GtkApplication .采用面向对象的设计方式设计我们的应用. 我们想要封装一个 MyApp 和 MyAppWindow , 它继承了 Gt

Linux 下从头再走 GTK+-3.0 (三)

之前我们为窗口添加了一个按钮,接下来让这个按钮丰富一点.并给窗口加上图标. 首先创建 example3,c 的源文件. #include <gtk/gtk.h> static void activate(GtkApplication *app , gpointer data); //从文件中加载一张图片 GdkPixbuf *create_pixbuf(const char *image_name); int main(int argc , char **argv) { GtkApplicat