我正在使用Ubuntu 12.04(精确)64位因为我是Ubuntu的新手,我遇到了授权问题 我正在使用以下cmd来授予Ubuntu示例
Sudo mysql -u root -p 创建'pass'标识的用户用户名
将Db。*的所有权限授予用户名
如果使用
检查授权显示用户名
的授权
|在上授予所有特权。通过密码识别'用户名'|
现在,如果我以用户名登录,它将不会要求输入密码,如果我输入用户密码,它将直接登录而无需密码,它会给我错误信息:
sudo mysql -u username -p
错误1045(28000):拒绝用户用户名访问(使用密码:是)
并在登录后如果我给
显示数据库(它不会显示任何已授予的数据库)
请指导我一个例子
而且我想知道如果在root中创建存储过程如何获取访问权限 对于其他用户,即使我将特定存储过程的授权给予其他用户 与定义者有什么关系
答案 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)