开发者社区> 问答> 正文

Mysql localhost!= 127.0.0.1??mysql

$ mysql -u root -h 127.0.0.1 -e 'show tables' created_from_host; +-----------------------------+ | Tables_in_created_from_host | +-----------------------------+ | test | +-----------------------------+

$ mysql -u root -h localhost -e 'show tables' created_from_host; ERROR 1049 (42000): Unknown database 'created_from_host'

$ cat /etc/hosts 127.0.0.1 localhost.localdomain localhost 127.0.0.1 localhost ::1 localhost6.localdomain6 localhost6 怎么会这样?还有一个主要问题- 如何从所有主机授予root用户对所有数据库的所有特权?

UPD:

$ mysql -u root -h 127.0.0.1 -pzenoss -e "show grants"; +----------------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@localhost | +----------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*3715D7F2B0C1D26D72357829DF94B81731174B8C' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +----------------------------------------------------------------------------------------------------------------------------------------+ $ mysql -u root -h localhost -pzenoss -e "show grants"; +----------------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@localhost | +----------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*3715D7F2B0C1D26D72357829DF94B81731174B8C' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +----------------------------------------------------------------------------------------------------------------------------------------+ UPD2:

zends> SHOW GLOBAL VARIABLES LIKE 'skip_networking'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | skip_networking | OFF | +-----------------+-------+ 1 row in set (0.00 sec)

zends> SELECT user,host FROM mysql.user WHERE user='root'; +------+-----------------------+ | user | host | +------+-----------------------+ | root | 127.0.0.1 | | root | ::1 | | root | localhost | | root | localhost.localdomain | +------+-----------------------+ 4 rows in set (0.00 sec)

展开
收起
保持可爱mmm 2020-05-17 12:21:41 428 0
1 条回答
写回答
取消 提交回答
  • 正如你可以看到这里,一个UNIX mysqld使用的插座,如果没有主机名或主机名中使用localhost。

    因此,它有所作为,在GRANT系统中,这种区别变得明显。来源:stack overflow

    2020-05-17 12:41:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像