Create User 的账号怎么登陆

谁学逆向工程 2011-01-05 05:28:16
在安装配置 MYSQL 的时候,需要为 root 设置一个密码。以后在登陆控制台的时候就用这个密码登陆

root 应该是最大权限的管理员了。我用 create user 命令创建了一个新账号,然后想重新在启动一个控制台,用新创建的账号登陆,但当我输入密码之后,程序就直接退出了。怎么解决
...全文
320 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2011-01-05
  • 打赏
  • 举报
回复
建议楼主先浏览一下MYSQL的官方手册。
ACMAIN_CHM 2011-01-05
  • 打赏
  • 举报
回复
估计你的用户账号创建得并不正确!

注意MYSQL的用户账号匹配模式。


[Quote]
5.8. MySQL用户账户管理
5.8.1. MySQL用户名和密码
5.8.2. 向MySQL增加新用户账户
5.8.3. 从MySQL删除用户账户
5.8.4. 限制账户资源
5.8.5. 设置账户密码
5.8.6. 使你的密码安全
5.8.7. 使用安全连接
本节描述如何为MySQL服务器的客户端设置账户。讨论了下面的主题:

· MySQL使用的账户名和密码的含义,以及如何比较你的操作系统所使用的账户名和密码

· 如何设置新账户并移除已有账户

· 如何更改密码

· 安全使用密码指导

· 如何使用安全SSL连接

5.8.1. MySQL用户名和密码
用用户名和客户端或主机定义MySQL账户,用户可以根据这些名称来连接服务器。账户也有密码。MySQL和操作系统使用用户名和密码的方式有几处区别:

· MySQL用于鉴定目的用户名与Windows或Unix使用的用户名(登录名)没有关系。在Unix中,大多数MySQL客户端默认试图使用当前Unix的用户名作为MySQL用户名来登录,但这样只是为了方便。 默认值可以很容易被覆盖,因为客户端程序允许用-u或--user选项来指定用户名。因为这表示任何人可以试图使用任何用户名来连接服务器,除非所有MySQL账户有密码,否则你不能使数据库保持安全。通过为没有密码的账户指定用户名,任何人能够成功连接服务器。

· MySQL用户名最大客达16字符长。这样可以限制MySQL服务器和客户端之间的硬编码,并且防止通过修改mysql数据库中表的定义来偷窃密码。

注:你应绝对不要以任何方式修改mysql数据库中的任何表,只能运行MySQL分发中专为此目的提供的脚本。将MySQL系统表重新定义为其它方式会导致未定义的(和不支持的!)行为。

操作系统用户名与MySQL用户名完全不相关,甚至最大长度可能不同。例如, Unix用户名限制为8个字符。

· MySQL密码与登录到你的操作系统的密码没有关系。不需要将你用来登录Windows或Unix机器的密码和你用来访问该机器上的MySQL服务器的密码关联起来。

· MySQL的加密密码使用自己的算法。该加密算法不同于Unix登录过程使用的算法。MySQL密码加密与PASSWORD()SQL函数的方法相同。Unix密码加密与ENCRYPT()SQL函数的方法相同。PASSWORD()和ENCRYPT()函数的描述参见12.9.2节,“加密函数”。从版本4.1 起,MySQL使用更强的鉴定方法,同以前的版本相比可以在连接过程中提供更好的密码保护。即使TCP/IP包被截取或mysql数据库被捕获也很安全。(在前面的版本中,即使密码以加密形式保存到user表中,仍可以通过加密密码值来连接MySQL服务器)。

当安装MySQL时,授权表装载时有一系列初使账户。这些账户的名称和访问权限见2.9.3节,“使初始MySQL账户安全”,其中还讨论了如何未这些账户赋予密码。因此,你一般应使用GRANT和REVOKE语句来设置、修改和移除MySQL账户。参见13.5.1.3节,“GRANT和REVOKE语法”。

当用命令行客户端连接MySQL服务器时,你应为想要使用的账户指定用户名和密码:

shell> mysql --user=monty --password=guess db_name
如果你想用较短的选项,命令应为:

shell> mysql -u monty -pguess db_name
-p选项和后面的密码值之间绝对不能有空格。参见5.7.4节,“与MySQL服务器连接”。

前面的命令包括命令行中的密码值,会很危险。参见5.8.6节,“使你的密码安全”。要想避免,指定--password或-p选项后面不跟任何密码值:

shell> mysql --user=monty --password db_name
shell> mysql -u monty -p db_name
然后客户端程序输出提示符并等待你输入密码。(在这些示例中,db_name并不为密码,因为用空格将它同前面的密码项隔离开了)。

在一些系统中,MySQL用来提示输入密码的库调用自动将密码限制到8个字符。这是系统库的问题,而不是MySQL的问题。MySQL本身并不限制密码的长度。要解决该问题,将MySQL密码改为8个字符和更少字符的值,或将密码放入选项文件中。

5.8.2. 向MySQL增加新用户账户
可以用两种方式创建MySQL账户:

· 使用GRANT语句

· 直接操作MySQL授权表

最好的方法是使用GRANT语句,因为这样更精确,错误少。从MySQL 3.22.11起提供了GRANT;其语法见13.5.1.3节,“GRANT和REVOKE语法”。

创建账户的其它方法是使用MySQL账户管理功能的第三方程序。phpMyAdmin即是一个程序。

下面的示例说明如何使用MySQL客户端程序来设置新用户。假定按照2.9.3节,“使初始MySQL账户安全”描述的 默认值来设置权限。这说明为了更改,你必须以MySQL root用户连接MySQL服务器,并且root账户必须有mysql数据库的INSERT权限和RELOAD管理权限。

首先,使用MySQL程序以MySQL root用户来连接服务器:

shell> MySQL --user=root MySQL
如果你为root账户指定了密码,还需要为该MySQL命令和本节中的其它命令提供--password或-p选项。

以root连接到服务器上后,可以添加新账户。下面的语句使

[/Quote]
谁学逆向工程 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mr_mablevi 的回复:]
Windows键+R 打开“运行” 输入cmd .再 mysql -unew_user -ppassword;
[/Quote]
我很纳闷,为什么是从CMD进入呢。 安装好 MYSQL 以后,开始菜单里有个东西可以进入的啊,我的 root 账号一直都是这么进入的。为什么新建立的账号要从 CMD 进入呢
小小小小周 2011-01-05
  • 打赏
  • 举报
回复

Windows键+R 打开“运行” 输入cmd .再 mysql -unew_user -ppassword;
谁学逆向工程 2011-01-05
  • 打赏
  • 举报
回复
我是 windows7
小小小小周 2011-01-05
  • 打赏
  • 举报
回复
你重新开个新连接,要是linux的话直接输入 mysql -unew_user -ppassword; windows的话 直接在运行-cmd 下面执行mysql -unew_user -ppassword;
谁学逆向工程 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mr_mablevi 的回复:]
那不会出现这个问题.除非楼主的客户端有问题;
[/Quote]
还有个奇怪的问题。打开控制台的时候,他居然只要求输入密码,居然不要求输入账号
小小小小周 2011-01-05
  • 打赏
  • 举报
回复
那不会出现这个问题.除非楼主的客户端有问题;
谁学逆向工程 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mr_mablevi 的回复:]
楼主问的问题这么都这么奇怪.你去查下mysql.user下面有没有你创建的帐号信息
[/Quote]
当然有了,只有有了才能去登陆啊
小小小小周 2011-01-05
  • 打赏
  • 举报
回复
楼主问的问题这么都这么奇怪.你去查下mysql.user下面有没有你创建的帐号信息

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧