最近很多小伙伴都在问为我的站点上的每个用户分配一个MySQL数据库是否合理?这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展1、PHP-获取MySQL数据库查询结果行数mysql数
最近很多小伙伴都在问为我的站点上的每个用户分配一个MySQL数据库是否合理?这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载、mysql - PHP 数据库,一个表中有多个用户的多个记录,如何获取这个表中的每个用户的最值、MySQL 中创建用户分配权限(到指定数据库或者指定数据库表中)、MySQL 添加新用户、为用户创建数据库、为新用户分配权限等相关知识,下面开始了哦!
本文目录一览:- 为我的站点上的每个用户分配一个MySQL数据库是否合理?
- 1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载
- mysql - PHP 数据库,一个表中有多个用户的多个记录,如何获取这个表中的每个用户的最值
- MySQL 中创建用户分配权限(到指定数据库或者指定数据库表中)
- MySQL 添加新用户、为用户创建数据库、为新用户分配权限
为我的站点上的每个用户分配一个MySQL数据库是否合理?
我正在创建一个基于用户的网站。对于每个用户,我将需要一些MySQL表来存储不同类型的信息(即userInfo,quotesSubmitted和ratesSubmitted)。是一个更好的主意:
a)为站点创建一个数据库(即“ mySite”),然后在其中创建数百或数千个表(即“ userInfo_bob”,“
quotessubmitted_bob”,“ userInfo_shelly”和“ quotesSubmitted_shelly”)
要么
b)创建数百或数千个数据库(即“ Bob”,“ Shelly”等),每个数据库仅创建几个表(即“
Bob”内部:userInfo,quotesSubmitted,ratesSubmitted等)
我应该使用一个数据库,在该数据库中使用多个表,还是每个数据库使用多个数据库和几个表?
编辑:
问题是我需要跟踪谁对什么进行了评分。这意味着,如果用户对300条报价进行了评分,则我需要能够准确知道用户对哪些报价进行了评分。
也许我应该这样做?
一表报价。一个表列出用户。一张表记录了已进行的所有评分(即三列:用户,报价,评分)。这似乎是合理的。有什么问题吗?
答案1
小编典典使用一个数据库。
使用一张表容纳用户,用一张表容纳引号。
在这两个表之间,您有一个表,其中包含使用户与引号匹配的信息,该表将保存用户给出的引号的等级。
这种简单的设计将允许您存储几乎无限数量的报价,无限的用户,并且您可以将每个报价与零个或多个用户匹配,反之亦然。
中间的表将包含用户表和报价表的 外键 。
您可能会发现复习一些数据库设计基础知识会有所帮助,有关stackoverflow的问题很多。
从这些开始…
什么是归一化?
设计数据库时要记住的重要事项
“太多”有多少个字段?
更多表格还是更多列?
1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载
一
首先需定义一个数据库接口函数,可单独存为一个php页面
<span><span><?php </span><span><span>function</span><span>db_connect</span><span>()</span> {</span><span>$result</span> = <span>new</span> mysqli(<span>''数据库地址''</span>, <span>''账号''</span>, <span>''密码''</span>, <span>''库名''</span>);<span>//连接数据库</span><span>if</span> (!<span>$result</span>) { <span>return</span><span>false</span>;<span>//连接失败</span> } <span>return</span><span>$result</span>;<span>//返回数据库对象</span> } <span>?></span></span></span>
二
在另一php页面中,首先需使用include函数包含上述php页面,也即需保证上述接口函数能被正确调用
<span><span><?php </span><span><span>function</span><span>output_rows</span><span>(<span>$seller_id</span>)</span>{</span><span>$conn</span> = db_connect();<span>//连接数据库</span><span>if</span> (!<span>$conn</span>) {<span>//无法连接数据库</span><span>echo</span><span>"can not connect mysql"</span>; <span>return</span><span>''fail_mysql''</span>; } <span>$result</span> = <span>$conn</span>->query(<span>"SELECT * FROM t_order WHERE seller_id= ''"</span>. <span>$seller_id</span>.<span>"'' "</span>);<span>//查询数据</span><span>echo</span><span>$result</span>->num_rows; <span>//输出行数</span> } <span>?></span></span></span>
通过调用上述定义的函数即可显示sql查询结果的行数,上述函数通过$result = $conn->query("SELECT * FROM t_order WHERE seller_id= ''". $seller_id."'' ");进行数据库的查询,查询t_seller表中seller_id等于$seller_id的所有行,并将结果集赋给$result,再通过使用$result->num_rows可取得查询结果的行数,用echo进行输出显示
立即学习“PHP免费学习笔记(深入)”;
'').addClass(''pre-numbering'').hide(); $(this).addClass(''has-numbering'').parent().append($numbering); for (i = 1; i '').text(i)); }; $numbering.fadeIn(1700); }); });以上就介绍了1、PHP-获取MySQL数据库查询结果行数,包括了Mysql数据库方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
mysql - PHP 数据库,一个表中有多个用户的多个记录,如何获取这个表中的每个用户的最值
如图(1),有这么一张表,表中有多个用户的、多个记录;
我想得到的是这个表中的每个用户的speed 这一栏的最值,如图(2)(只看数据)
告诉我怎么个思路就可以
谢谢哟 ^_^
【图 1】
【图 2】
立即学习“PHP免费学习笔记(深入)”;
回复内容:
如图(1),有这么一张表,表中有多个用户的、多个记录;
我想得到的是这个表中的每个用户的speed 这一栏的最值,如图(2)(只看数据)
告诉我怎么个思路就可以
谢谢哟 ^_^
【图 1】
【图 2】
立即学习“PHP免费学习笔记(深入)”;
select user, max(speed) from table group by user
第一次统计,后续通过缓存方案
MySQL 中创建用户分配权限(到指定数据库或者指定数据库表中)
一、用户权限指定导库:
1 新建用户
// root 用户登陆 MySQL
mysql -uroot -p
Enter password:
// 新建用户
mysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff"));
// 刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:buff,密码为:buff 的用户。
2 登陆测试
mysql>exit // 用户 buff 登陆 MySQL mysql -ubuff -p Enter password: mysql>
说明新建的用户 buff 登陆成功。
3 用户授权
// root 用户登陆 MySQL
mysql -uroot -p
Enter password:
// 为用户 buff 创建一个数据库 bluebuff
mysql>create database bluebuff;
// 授权用户 buff 拥有数据库 bluebuff 的所有权限
mysql>grant all privileges on bluebuff.* to buff@localhost identified by ''buff'';
mysql>flush privileges;
4 登录测试
// 用户 buff 登陆数据库
mysql -ubuff -p
Enter privileges:
// 显示数据库
mysql>show databases;
结果如下图所示,说明为用户 buff 授权成功
二、用户授权到指定数据库的某张表
与数据库授权步骤一样只是这里需要调整
mysql>grant all privileges on bluebuff. 表名 to buff@localhost identified by ''buff'';// 把原来的 * 修改为表名即可
注意:若原本想对表进行授权,结果对整个库授权了,此时需要调整用户的权限,需要 删除账号同时删除权限:1. 删除用户,2. 删除用户的权限
命令如下:
mysql>Delete FROM user Where User=''test'' and Host=''localhost'';
mysql>flush privileges;
删除账户及权限:>drop user 用户名 @''%'';// 远程访问账号
>drop user 用户名 @ localhost; // 本地服务器授权
若不删除权限,你会发现新建同样的账号还是对数据库授权,而没有对表进行授权,即使使用了(grant all privileges on bluebuff. 表名 to buff@localhost identified by ''buff'';)但是还是对库进行授权。而不是对指定的表进行授权。
参考链接:
https://www.cnblogs.com/afee666/p/6839585.html
https://www.cnblogs.com/wanghetao/p/3806888.html
https://zhidao.baidu.com/question/1046129103181384259.html
MySQL 添加新用户、为用户创建数据库、为新用户分配权限
https://blog.csdn.net/u013216667/article/details/70158452
登录
mysql -u root -p
添加新用户
允许本地 IP 访问 localhost, 127.0.0.1
create user ''test''@''localhost'' identified by ''123456'';
允许外网 IP 访问
create user ''test''@''%'' identified by ''123456'';
flush privileges;
为用户创建数据库
create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
为新用户分配权限
授予用户通过外网 IP 对于该
grant all privileges on `testdb`.* to ''test''@''%'' identified by ''123456'';
grant all privileges on `testdb`.* to ''test''@''localhost'' identified by ''123456'';
刷新权限
flush privileges;
exit
mysql -u test -h 115.28.203.224 -p
在 Ubuntu 服务器下,MySQL 默认是只允许本地登录,因此需要修改配置文件将地址绑定给注释掉:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 #注释掉这一行就可以远程登录了
本文同步分享在 博客 “lxw1844912514”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。
关于为我的站点上的每个用户分配一个MySQL数据库是否合理?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于1、PHP-获取MySQL数据库查询结果行数 mysql数据库下载64位 sql数据库实例下载 sql数据库补丁下载、mysql - PHP 数据库,一个表中有多个用户的多个记录,如何获取这个表中的每个用户的最值、MySQL 中创建用户分配权限(到指定数据库或者指定数据库表中)、MySQL 添加新用户、为用户创建数据库、为新用户分配权限的相关知识,请在本站寻找。
本文标签: