DB2报已经达到了MAXFILES和MAXFILESIZE CREATE EVENT MONITOR参数的限制,所以取消激活了"事件监视器"

DB2报已经达到了MAXFILES和MAXFILESIZE CREATE EVENT MONITOR参数的限制,所以取消激活了"事件监视器",第1张

ADM2001W 是个报警,可以忽略掉。

1、创建数据库的时候,默认会创建一个名叫 DB2DETAILDEADLOCK 的event monitor用来记录发生的死锁事件信息。当需要分析的时候,可以通过该信息用于定位出现死锁的事务。同时,它是有大小限制的。这里就是说达到限制了。

2、如果就是不想它记录,首先取消激活该event monitor(db2 set event monitor db2detaildeadlock state 0 );然后找到对应的目录C:\DB2\NODE0000\SQL0000*\DB2EVENT\db2detaildeadlock 删除其下的所有文件,然后再次激活即可(db2 set event monitor db2detaildeadlock state 1)。

注意:对于路径 C:\DB2\NODE0000\SQL0000*\DB2EVENT\db2detaildeadlock,

1、你的数据库可能不在C:你要去找找,但都是在盘符下的db2目录。

2、SQL0000* 可以用命令去确认,

比如,我知道我的数据库 TEST 在d:下,执行命令db2 list db directory on d:

看到 "数据库目录 = SQL00005"了么?(木有v8的环境,拿9.1的对比,类似的)

C:\Documents and Settings\Administrator>db2 list db directory on d:

d: 上的本地数据库目录

目录中的条目数 = 2

数据库 1 条目:

数据库别名 = TEST

数据库名称 = TEST

数据库目录 = SQL00005

数据库发行版级别= b.00

注释=

目录条目类型= 本地

目录数据库分区号 = 0

数据库分区号 = 0

       MySQL 在安装完成之后,会初始化一个密码,用初始化密码登录后,需要重新设置密码才能执行命令。如果未进行密码修改,执行命令会报以下错误。

      ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

  执行如下修改密码命令,依旧报错:

update  mysql.user set authentication_string = password ('rootroot') where user= 'root'  

alter  user 'root'@'localhost' identified by 'rootroot'

grant all privileges on *.* to root@'%' identified by 'rootroot'

flush privileges

需要执行以下命令方可成功:

set password= password('rootroot')

flush privileges

 MySQL root密码正确,却怎么也无法从本地登录MySQL,提示

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

这里后来经高人指点才发现mysql库中的user表缺少一个root指向host:localhost的数据项,只有一个root指向host:主机名的数据项,故怎么也无法利用root账户登录MySQL。

总结一点就是root账户缺失了访问localhost主机的账户信息,导致无法本地登录。

那有什么办法恢复root登录呢?

这里记录一下今天遇到的纠结事情:

首先kill掉MySQL进程然后在启动mysql的参数中加入

--skip-grant-tables

会发现这时无密码就可以登录mysql了。

当然我们还必须修复root账户丢失的数据项。

这里有两种解决方案:

第一种是因为root账户初始的时候有3条记录,包含root对应localhost,hostname,127.0.0.1三条账户数据,我们可以update host为其他两项中一项为localhost即可。

第二种是直接insert一条记录,host为localhost即可

总结一下:即使root的host包含了主机名,127.0.0.1那么依然是无法正常登录的,这里必须要有localhost的host才行。

如果上面办法还是无法正常登录我们可尝试另一种办法

在本地用mysql命令直接回车可以进入mysql,但是里面只有test和information_schema数据库,没有mysql等数据库,使用use mysql报如下错:

mysql>use mysql

ERROR 1044 (42000): Access denied for user "@'localhost' to database 'mysql'

意思是说没有指定user,没有权限访问数据库mysql。

那么用root登录呢,输入正确的密码报如下错:

[root@228827 ~]# mysql -uroot -p123456

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

密码正确的情况下,mysql数据库已经禁止了root用户在本地的登录权限了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7500075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存