我们最近在新项目中从SQL Server切换到MySQL,而我仍然在努力理解安全模型。
我们的一个应用程序有一个名为MyApplicationUser的MySQL用户。为了方便起见,当我第一次开发这个应用程序时,我给了用户我认为是必需的特权。
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON MyApplication.* TO 'MyApplicationUser'@'%';
它似乎起作用了,所以我没有多想。在某种程度上,我调整了这个列表,以便用户也可以创建索引,尽管我不再记得我用来创建索引的代码了。
我有两个变量,它们都包含逗号分隔的列表。一个是权限变量,另一个是想要访问页面的用户组列表。
1=用户
2=编辑器
3=主持人
4=管理员
<?php
$query = mysql_query("SELECT * FROM users WHERE id='{$user['id']}'");
$user = mysql_fetch_assoc($query);
$query2 = mysql_query("SELECT * FROM menu WHERE active='1'")
我正在对三个不同的mySQL服务器(运行5.0.51a-24+lenny5 5-log、5.54-0+deb7u2和5.6.35)进行“春季清理”,使用了数百个数据库和数百个用户。
因此,我正在寻找一个查询,该查询返回一个用户列表,该列表无法访问服务器上的任何现有数据库。
如果我查看mysql.user,我可以看到服务器上的所有用户。到目前一切尚好。现在,如果我查看mysql.db,我可以看到它们与数据库的关系。所以我想得到结果可能很简单:
SELECT *
FROM mysql.`user` tblusers
WHERE NOT EXISTS (SELECT *
我有一个查询来检查mysql用户列表以创建新用户。
IF (SELECT EXISTS(SELECT 1 FROM `mysql`.`user` WHERE `user` = '{{ title }}')) = 0 THEN
CREATE USER '{{ title }}'@'localhost' IDENTIFIED BY '{{ password }}'
END IF;
但是我得到了这个错误:
ERROR 1064 (42000) at line 3: You have an error in your SQL sy
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 5.1中创建了用户,并给出了所有特权,详细信息如下:
mysql> show GRANTS FOR test;
+-------------------------------------------------------------+
| Grants for test@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'tes
短版本:如何编写一个MySQL过程来列出特定用户可以访问的MySQL数据库中的几个表中的哪一个?
更长版本
我正在编写一个多用户应用程序,它可以访问一个数据库,其中包含了一家公司几个分支的数据。数据库有许多查找表,任何用户都可以访问,每个分支只有授权用户才能访问一个表。我的策略是:
privilege.From 编写一个存储过程,返回用户选择应用程序的相关表的列表,调用过程。如果只有一个返回的表,使用它,否则让用户选择他们想要访问的分支(例如对于管理人员)。
我很难弄清楚如何编写这样的存储过程。SHOW GRANTS FOR CURRENT_USER是一种明显的可能性,但是解析类似于:
GRA
我正试图在我网站的非vbulliten部分显示我的vbulliten线程列表。但是,我不能选择vbulliten数据库:
<?php
$host = "localhost";
$user = "my username";
$pass = "my password";
$dbname = "tableprefix_forum";
mysql_connect($host, $user, $pass) or die ("Could not connect to database server.");
我也在使用windows7.i安装了mysql服务器5.1。已使用mysql控制台将用户创建为' user @localhost‘。但无法登录到该用户。
我尝试使用命令提示符运行。当我创建了一个名为" user“的用户时。当我尝试mysql -u用户-p时,它显示拒绝访问' user @localhost‘。在这里,即使尝试使用mysql控制台也没有帮助。。
我正在尝试创建一个数据库,如果它不存在。代码如下:
<?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
我想在mysql中创建新的数据库。
我以root用户身份登录。我已经为root用户设置了密码。
mysql> SHOW GRANTS FOR root;
+---------------------------------------------------------------------------------------------+
| Grants for root@% |
+------------------------
我想要创建一个新的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
以下是我遵循的步骤:
下载mysql-5.6.16.tar.gz到/usr/local/src
cd /usr/local/src
tar -zxvf mysql-5.6.16.tar.gz
cp /usr/local/src/mysql-5.6.16 /usr/local/mysql/
cd /usr/local/mysql
创建具有用户mysql的组mysql
chown -R mysql .
chgrp -R mysql .
cmake .
make
make install
但我在运行以下命令时出错:
scripts/mysql_
我卡住了&需要帮助理解文件,为组成员创建权限。
在php中,我希望在mysql:mysql拥有的文件夹中打开/创建一个文件(用于将数据导入mysql)。
文件夹-ld
drwxrwx--- 2 mysql mysql 4096 Dec 14 14:33 /var/lib/mysql-files
php作为用户www-data
运行。
我在组“mysql”中添加了“www-data”用户。
sudo usermod -a -G groupName userName
已验证
sudo groups www-data
www-data : www-data mysql
看来我的ph
我有一个FB应用程序,它只保存我的用户的Facebook配置文件id,我错过了添加电子邮件。
现在我需要得到我的应用程序用户的所有电子邮件和他们的名字,我做的一件事是一个接一个地做,但这需要时间来完成。
我希望你们能帮助我。
更新:
我使用的是普通的php认证和sdk。我唯一的东西是Facebook的用户id,我正在寻找一种方法在FQL的配置文件id的列表,将返回电子邮件地址和全名。
在mysql中是这样的:
选择email FROM user WHERE IN(1234,2355,5553)