1:mysql命令行只能看到:test库和information-schema库,找不到其它数据库
之前站长平台相关的mysql库,忘记密码,用root账号(密码为空,不确定是否正确)登陆,只能看到test库和information-schema库,找不到其它数据库,想查询user表的信息,可是看不到user表。。。
解决方法:
A:查看mysql配置,发现数据库相关数据文件还在,mysql配置没有问题,那么一定是用户权限问题
B:重新启动mysql服务:/usr/bin/mysqld_safe --skip-grant-tables &(mysqld_safe会自动启动mysql)
C:重新进入mysql命令行:此刻发现了mysql中的其它数据库,查看mysql.user表发现Host=localhost下的账号对应的权限都为N重新进行设置;
2:mysql.sock 文件突然消失
现象:进入命令行出现:Can't connect to local MySQL server throughsocket '/search/wuwenjun/mysql/mysql.sock'
发现mysql.sock文件确实不在了,mysqld进程还在
(1) 查看mysql的日志:发现Can'tstart server: Bind on TCP/IP port: Address already in use ----可能是某次service mysqld stop/restart失败
(2) 杀了mysqld进程重新启动,进入mysql 一切正常
(3) 那么为什么mysqld 服务开启不正常会导致mysql.sock文件找不到呢,mysql.sock 文件有什么作用?
Mysql有两种连接方式:(1)TCP/IP (2)socket
对mysql.sock来说,其作用是mysql客户端程序mysql与mysql服务器端程序mysqlserver处于同一台机器,发起本地连接时可用(比tcp块)。mysql.sock是随每一次mysqld启动生成的,如果找不到mysql.sock文件,说明此次启动mysqld有问题