问题1:mysqld.exe --user=用户名这样启动mysqld后, 如果该台计算机上 的客户端mysql.exe以 其他账号去连接mysqld.exe会成功连接吗?
问题2:我的mysql是 一个软件安装的时候,自带mysql,所以就把mysql安装在计算机上了。但是这个mysql比较特殊,安装的时候,都没有让你输入rott的密码。后来看一些命令, 尝试修改给root配置个密码。命令为:
mysqladmin.exe -u root -password 密码结果提示:没有连接到localhost上,
我已经双击启动了mysqld.exe了。注意:由于软件 自带mysql, 所以是没有root账号的。我双击运行mysqld.exe, 估计mysqld.exe是以 非root运行的.所以提示: 连接到localhost上, 于是我用命令行 来启动mysqd.exe : mysqld --user=root;再次mysqladmin.exe 修改root的密码,结果依然不凑效.
问题2:我的mysql是 一个软件安装的时候,自带mysql,所以就把mysql安装在计算机上了。但是这个mysql比较特殊,安装的时候,都没有让你输入rott的密码。后来看一些命令, 尝试修改给root配置个密码。命令为:
mysqladmin.exe -u root -password 密码结果提示:没有连接到localhost上,
我已经双击启动了mysqld.exe了。注意:由于软件 自带mysql, 所以是没有root账号的。我双击运行mysqld.exe, 估计mysqld.exe是以 非root运行的.所以提示: 连接到localhost上, 于是我用命令行 来启动mysqd.exe : mysqld --user=root;再次mysqladmin.exe 修改root的密码,结果依然不凑效.
2、修改密码
进入MYSQL命令行
use mysql
update user set password=password("new_password") where user="root";
flush privileges;
可以。
这类问题,其实自己亲自动手做下实验就知道结果了。
参考下贴三楼
http://topic.csdn.net/u/20090515/21/2b3c9a12-d8a5-4bb1-9895-6069cef5aef8.html
或者show grants看看自己的权限。集成软件初始密码没让你填写就是空,直接终端下mysql -uroot -p试试
之后改密码的话更新user表的密码就行了,类型update mysql.user set Password=password(新密码)
我按照你的法子后,用root,密码为空登录后,修改密码:
mysql> select User,Password from user where User='root';
+------+----------+
| User | Password |
+------+----------+
| root | |
| root | |
+------+----------+
2 rows in set (0.00 sec)mysql> update user set Password='root' where User='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0mysql> select User,Password from user where User='root';
+------+----------+
| User | Password |
+------+----------+
| root | root |
| root | root |
+------+----------+
2 rows in set (0.00 sec)mysql>
说明root居然有2个, 是不是太奇怪了?
mysql> use mysql;
Database changed
mysql> select User,host,password from user where User='root';
+------+-----------+----------+
| User | host | password |
+------+-----------+----------+
| root | localhost | root |
| root | 127.0.0.1 | root |
+------+-----------+----------+
2 rows in set (0.10 sec)mysql>
看到没?依然是2个root账户。
第二个问题:我用用户名root ,密码:root登录,结果登陆不了。空密码的root依然可以登录,也就是说,我修改密码,修改的结果似乎不对
| root | 127.0.0.1 | root |这显然是两个账号啊!!!楼主对下面这段中文如何理解?
MYSQL的账号由 username@hostname 组成, 也就是说 bsnry@localhost, [email protected] 并不是同一用户账号!
另外password 是加密的,直接为 root 这样的明文,对应的密文肯定不是 root, 参考一下手册中的 password函数。
如果是加密了。那么如何理解眼前看到的字段:
password里的值呢 ?
如果是加密了。那么如何理解眼前看到的字段:
password里的值呢 ?