十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我的是mysql5.0的,一般操作都通过phpmyadmin,来完成操作,但是最近有人反映数据库被无故删除,虽然有备份,问题不大,但我我想查看操作数据库的IP地址,好确定是,哪里的在人员在进行操作!请大虾们,指点下,麻烦写的具体点哦,偶是低低手,需要你们指教!
创新互联公司是一家专业提供永泰企业网站建设,专注与成都网站设计、网站建设、H5网站设计、小程序制作等业务。10年已为永泰众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
另一个就是你可以对应用phpmyadmin的网站打开access_log,然后分析这个日志,查找DROP DATABASE相关的IP。
不过我觉得如果数据被无端删除,你应该着手检查以下事情:
1、确认主机是否安全
2、确认你所使用的phpmyadmin版本是否安全
3、确认你有没有对MySQL user赋予不当的权限
4、确认你MySQL的root账户是否安全
如果你使用的Apache,并且使用了VirtualHost,那就在你http-vhost.conf中VirtualHost的CustomLog所制定的位置。
如果你在httpd.conf中打开了全局的CustomLog,那你就在httpd.conf中查找相关位置,默认是/var/log/httpd-error.log总结:
一般在/var/log/httpd下可查看对其操作IP
如在0.140上,
查看自己创建的数据库,跟查看别人创建的数据库没有什么分别,可以用下列语句来查看某个数据库:
查看创建数据库的命令
show
create
database
dbName;
查看所有数据库命令
show
databases;
查看某个数据库的命令
show
database
dbName;
前往操作某个数据库
use
dbName;
如果没有指定[file-name],默认hostname.err做为文件名,默认存放在DATADIR目录中。
也可以将log-error配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定--log-error.例如:
[mysql@test2]$ vi /etc/my.cnf
# The MySQL server
[mysqld]
如果你想要知道mysqld内部发生了什么,你应该用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值, 默认名是host_name.log。所有连接和语句被记录到日志文件。当你怀疑在客户端发生了错误并想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用。
mysqld按照它接收的顺序记录语句到查询日志。这可能与执行的顺序不同。这与更新日志和二进制日志不同,它们在查询执行后,但是任何一个锁释放之前记录日志。(查询日志还包含所有语句,而二进制日志不包含只查询数据的语句)。
如何使用命令查看mysql的当前登陆用户
使用mysql登录数据库后,如何查看当前数据库
1. 通过函数database()实现
mysql SELECT database();
2. 通过show tables实现
mysql show tables;
注:注意查看列头形式, 格式为:Tables_in_[db_name]
3. 通过status实现
mysql status;
注:注意结果中的"Current database"信息