分类:MySQL TIPS/FAQ

mysql.user表怎么有两个root?密码怎么改?

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式:select unhex('777562696E67786940676D61696C2E636F6D'); 载请注明作/译者和出处,并且不能用于商业用途,违者必究。
MySQL的用户名有两部分组成: 用户名@机器名

用户名:一般用字母组成。
机器名:可以是机器IP也可以机器名。机器名可以用dns也可以在/etc/hosts中声明。

所以可以称为不是两个root用户。

反应到user表中,用户名对应user,机器名对应于host,密码对应于password
一个用户名完整的标识为:user@host

更改密码:
set  password for '用户名'@'主机名‘=password('yourpassword');

所以你见到的两个Root不能算是一个用户名的。

 

大量unauthenticated user出现

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究。

首先查出来有那些IP连接mysql
mysql -e "show processlist"|awk '{print $3}'|sed -e 's/:.*$//' |sort |uniq -c

记录一下这些IP

再收次一下那些IP出现 unauthenticated user
mysql -e "show processlist"|sed -s "/unauthenticated/"|awk '{print $3}'|sed -e 's/:.*$//' |sort |uniq -c

多次执行,比较结果。

unsiged 数值运算 记录

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究。

mysql> CREATE TABLE IF NOT EXISTS `ab`
`id` int(11) NOT NULL,
`id1` tinyint(3) unsigned DEFAULT NULL,
`id2` tinyint(3) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
Query OK, 0 rows affected (0.00 sec)

Mysql 4 和5的int unsigned 区别

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究。

所有整数类型可以有一个可选(非标准)属性UNSIGNED。当你想要在列内只允许非负数和该列需要较大的上限数值范围时可以使用无符号值。
mysql4:
mysql> create table wubx(a TINYINT unsigned not null default '0');
Query OK, 0 rows affected (0.04 sec)
mysql> select * from wubx;