在ubuntu中授予问题

时间:2013-03-14 04:58:09

标签: mysql database ubuntu stored-procedures grant

我正在使用Ubuntu 12.04(精确)64位因为我是Ubuntu的新手,我遇到了授权问题 我正在使用以下cmd来授予Ubuntu示例

  

Sudo mysql -u root -p   创建'pass'标识的用户用户名

     

将Db。*的所有权限授予用户名

如果使用

检查授权
  

显示用户名

的授权

|在上授予所有特权。通过密码识别'用户名'|

现在,如果我以用户名登录,它将不会要求输入密码,如果我输入用户密码,它将直接登录而无需密码,它会给我错误信息:

  

sudo mysql -u username -p

错误1045(28000):拒绝用户用户名访问(使用密码:是)

并在登录后如果我给

  

显示数据库(它不会显示任何已授予的数据库)

请指导我一个例子

而且我想知道如果在root中创建存储过程如何获取访问权限 对于其他用户,即使我将特定存储过程的授权给予其他用户 与定义者有什么关系

1 个答案:

答案 0 :(得分:2)

您无需运行sudo即可以root身份连接到MySQL。

创建数据库:

$ mysqladmin create mydatabase -uroot -p

以root身份或其他可以授予权限的用户进行连接

$ mysql -D mydatabase -uroot -p

允许foouser从同一台计算机连接

mysql> grant all privileges on mydatabase.* to 'foouser'@'localhost' identified by 'pass';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

以新用户身份加入:

$ mysql -D mydatabase -u foouser -p
Enter password: pass
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 129
Server version: 5.5.29-0ubuntu0.12.04.2 (Ubuntu)