短版本:如何编写一个MySQL过程来列出特定用户可以访问的MySQL数据库中的几个表中的哪一个?
更长版本
我正在编写一个多用户应用程序,它可以访问一个数据库,其中包含了一家公司几个分支的数据。数据库有许多查找表,任何用户都可以访问,每个分支只有授权用户才能访问一个表。我的策略是:
privilege.From 编写一个存储过程,返回用户选择应用程序的相关表的列表,调用过程。如果只有一个返回的表,使用它,否则让用户选择他们想要访问的分支(例如对于管理人员)。
我很难弄清楚如何编写这样的存储过程。SHOW GRANTS FOR CURRENT_USER是一种明显的可能性,但是解析类似于:
GRA
还原我的MySQL表有问题。当我试图编写下面的命令时,我得到了以下错误→错误1044 (42000):拒绝用户moodle@‘localhost’到数据库'moodle‘的访问
root@ubuntu:/var/www# mysql -u moodle -p moodle < ./backup/moodle.sql
ERROR 1044 (42000) at line 45: Access denied for user 'moodle'@'localhost' to database 'moodle'
用户"moodl
我有一个VPS和托管几个人的网站,即人,我将有很多接触,虽然想提供我可以提供的东西,而不是在那里做它。
我编写了一个脚本,在我的“帐户”创建脚本中添加一个示例数据库和用户,即:
CREATE DATABASE <username>_main
GRANT ALL ON <username>_main.*
TO <username>@localhost
IDENTIFIED BY 'randomfoobar';
我不确定,他们是否需要联系我来运行脚本来添加另一个数据库?我有点想要它,所以他们有phpmyadmin (对我来说没
Can't connect to a local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)
我收到了这条消息,但只有当我没有以root用户身份登录时。
为什么不是每个人都能访问mysql呢?
它在用户htorrent上不工作,它作为根用户工作。我试过给苏多许可,但不起作用。我在CENTOS 6.10 (最终)版本上。
usermod -aG wheel htorrent
我试过以下几种方法,但不起作用。我如何让每个用户访问mysql?
我想开始用MySQL编写查询。
show grants显示:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
我没有任何用户id,但是当我想创建一个用户时,我没有权限,而且我也不知道如何在没有一个用户的情况
我想编写一个应用程序,当它第一次在用户的机器上运行时,它将创建一个新的数据库,然后创建一个新的用户并授予它对数据库的访问权限。
我可以做到这一点,但我只希望那个用户,而不是其他人能够访问数据库。
因此,如果现有的安装有superuser,root可以访问所有东西,我想撤销除新创建的用户之外的所有用户。
我该怎么做?
我猜就像
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysql.user WHERE user<>[single user name],但似乎搞错了。
我想我以后得做FLUSH PRIVILEGES了?
我在mysql 5.1中创建了用户,并给出了所有特权,详细信息如下:
mysql> show GRANTS FOR test;
+-------------------------------------------------------------+
| Grants for test@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'tes
我已经在mysql数据库上创建了一些存储过程,但当我尝试执行它们时,我得到:
User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irrega
我也在使用windows7.i安装了mysql服务器5.1。已使用mysql控制台将用户创建为' user @localhost‘。但无法登录到该用户。
我尝试使用命令提示符运行。当我创建了一个名为" user“的用户时。当我尝试mysql -u用户-p时,它显示拒绝访问' user @localhost‘。在这里,即使尝试使用mysql控制台也没有帮助。。
我正在协调许多PHP开发项目。我已经设置了一个工作流,开发人员都使用一个Subversion存储库。当他们准备好查看他们在临时服务器上的应用程序时,上传一个MySQL DB转储并创建一个标记。
我已经配置了一个shell脚本,它将自动将PHP代码部署到DocumentRoot并配置适当的权限。现在我需要编写加载数据库快照的脚本。
当我第一次配置一个新的应用程序时,我创建一个数据库和用户帐户,如下所示:
CREATE DATABASE foodb;
GRANT ALL ON foodb.* TO user1@localhost IDENTIFIED BY 'password';
我想在mysql中创建新的数据库。
我以root用户身份登录。我已经为root用户设置了密码。
mysql> SHOW GRANTS FOR root;
+---------------------------------------------------------------------------------------------+
| Grants for root@% |
+------------------------
我正在尝试创建一个数据库,如果它不存在。代码如下:
<?php
// Connect to MySQL
$link = mysql_connect('host', 'user', 'pw');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
// Make studentdb the current database
$db_selected = mysql_select_db('StudentDB', $link);
if
我已经上传我的网站到一个附加域,给予用户"tomzino1_user1“正确的特权,并将用户添加到正确的数据库。这是一个用Dreamweaver编写的基于php的网站。
当我尝试访问我的站点(theboatshedmusic.com)时,出现错误消息:
SELECT command denied to user 'tomzino1_user1'@'localhost' for table 'main_table'
托管公司的支持服务检查表是否正确响应,用户是否已获得正确的权限并正确地添加到配置文件中。他们建议我的MAMP测试数据库中运行良
我想要创建一个新的mysql用户,可以访问mysql数据库中的一些选项。
这是我当前的create查询:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
当我运行此代码时,服务器将显示以下错误消息:
(Error: 1227 SQLSTATE: 42000 (ER_SPECIFIC_ACCESS_DENIED_ERROR)
Message: Access denied; you need the %s privilege for this operation)
使用MySQ