1

我正在使用 Ubuntu 12.04(精确)64 位由于我是 Ubuntu 新手,我遇到了授权问题,我在 Ubuntu 示例中使用以下 cmd 授权

sudo mysql -u root -p 创建由“pass”标识的用户用户名

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

如果检查授权使用

显示用户名的授权

| 授予所有特权用密码识别的“用户名”|

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

sudo mysql -u 用户名 -p

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

登录后如果我给

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

请用一个例子指导我

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

4

1 回答 1

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)
于 2013-03-15T00:15:37.153 回答