Mysql创建数据库和独立数据库帐号方法介绍
phpMyadmin创建Mysql数据库和独立数据库帐号教程
在一个服务器上一般来讲都不止一个站点,更不止一个MySQL(和PHP搭配之最佳组合)数据库。
为了防止安全隐患,我们一般针对每个数据库都设置了独立的数据库访问帐号,该帐号仅有访问该数据库的权限。下面就让我们来具体演示一下:
1、首先我们要登陆phpMyAdmin(做为现在的主流开发语言),不做演示。
2、创建一个数据库,如下图,在phpMyAdmin(做为现在的主流开发语言)右边窗口中,填写数据库名称,点创建即可。
例如我们这里创建一个名字为:cncmstest 的数据库
创建成功会有如下提示:
3、点击左上角的主页按钮,返回phpMyAdmin(做为现在的主流开发语言)主界面:
4、在主界面的右边点击“权限”来创建数据库帐号。
5、在权限页面中,我们点击“添加新用户”
6、在该页面中,我们填写要创建的数据库用户名,该用户的访问范围,及密码。
如上图,我们填写了用户名为:cncmsuser,该数据库用户只允许本机访问,主机一项选择本地;密码我们使用自动生成的,点下面的“Generate”会生成一个随机密码,然后点“Copy”会自动填写到密码框中。
下面的框都不选,直接拉到页面最下面点执行即可创建一个新用户。
数据库用户创建成功,会返回如下页面:
7、最重要的一步,设置该用户的数据库访问权限
在数据库用户添加成功返回的页面中可以直接设置权限。这里我们选择按数据库指定权限:
如上图,在数据库列表中选择我们刚刚创建的cncmstest,即会自动进入该数据库的权限设置页面。
在上图的权限设置中,我们把“数据”、“结构”两列的权限全部选中,管理权限都不要选。点执行即可。
到这里,我们已经全部设置完毕了,创建了一个数据库:cncmstest,并创建了数据库用户cncmsuser,特别指定了该用户只对cncmstest的访问权限。如此,便达到了我们一开始所讲的目的:为每一个数据库指定独立的用户访问权限。
下面简单介绍了下利用命令创建数据库
.新建用户。
代码如下 | 复制代码 |
//登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234")); //刷新系统权限表 mysql>flush privileges; |
这样就创建了一个名为:phplamp 密码为:1234 的用户。
然后登录一下。
代码如下 | 复制代码 |
mysql>exit; |
2.为用户授权。
代码如下 | 复制代码 |
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录. /* |
3.删除用户。
代码如下 | 复制代码 |
@>mysql -u root -p @>密码 mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost"; mysql>flush privileges; //删除用户的数据库 mysql>drop database phplampDB; |
4.修改指定用户密码。
代码如下 | 复制代码 |
@>mysql -u root -p @>密码 mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost"; mysql>flush privileges; |
5.创建数据库
创建数据库
CREATE DATABASE 语句用于在 MySQL 中创建数据库。
语法
CREATE DATABASE database_name为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数。此函数用于向 MySQL 连接发送查询或命令。
例子
在下面的例子中,我们创建了一个名为 "my_db" 的数据库:
代码如下 | 复制代码 |
<?php if (mysql_query("CREATE DATABASE my_db",$con)) mysql_close($con); |
以工作的第一步就是要将数据从excel中取出来。这里我使用到了一个开源php处理excel类:phpexcel. 该项目的详细信息 http://phpexcel.codeplex.com/ 。
我目前使用的是phpexcel1.7.3版本, 解压缩后里面有一个PHPExcel和PHPExcel.php文件。
我们主要使用那个PHP文件。见下图文件目录结构
这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持。于是乎我就将它转化为2003。感觉支持地很好。
下面介绍一下具体的使用:
代码如下 | 复制代码 |
|
上面的主要功能是初始化相关的excel类,并装载excel第一个sheet
代码如下 | 复制代码 |
|
以上分别获得该表格的最大列值(字母表示如:‘G'),和最大的行数(数值表示)
下面将使用循环来讲excel里面的数据读到excel中:
代码如下 | 复制代码 |
|
下面简单地介绍一下phpexcel的写操作,这个操作经常用于将数据库中的数据导入到excel中,便于展示和做成更美观的效果。
代码如下 | 复制代码 |
$file_name = "output.xls"; |
用于将mysql数据用php导出到excel文件中,也许可以作为速成材料:
<?php
function to_excel($sql,$excel_name)//含参数为SQL语句、导出的excel文件名
{
include_once('PHPExcel/Classes/PHPExcel.php');//包含类文件
include_once('PHPExcel/Classes/PHPExcel/Writer/Excel2007.php');//包含类文件
$objPHPExcel=new PHPExcel();//新建一个excel文件类
$re=mysql_query($sql);//执行SQL得到数据集
$i=1;
while($list=mysql_fetch_row($re))//循环一行行获取数据
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$list[0]);//excel的第A列第i行写入$list[0]
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$list[1]);//依次类推
$objPHPExcel->getActiveSheet()->setCellValue('C'.$i,$list[2]);
$objPHPExcel->getActiveSheet()->setCellValue('D'.$i,$list[3]);
$objPHPExcel->getActiveSheet()->setCellValue('E'.$i,$list[4]);
$objPHPExcel->getActiveSheet()->setCellValue('F'.$i,$list[5]);
$objPHPExcel->getActiveSheet()->setCellValue('G'.$i,$list[6]);
$objPHPExcel->getActiveSheet()->setCellValue('H'.$i,$list[7]);
$objPHPExcel->getActiveSheet()->setCellValue('I'.$i,$list[8]);
$i++;
}
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);//将excel数据对象实例化为excel文件对象
$objWriter->save($excel_name.".xlsx");//导出并写入当前目录,按照$excel_name命名
echo "OK!已导出为".$excel_name;
}
?>
如果我们利用phpmyadmin 导入文件时发现提示文件太大导入不成功,后来百度才知道我们可修改php.ini中的几个参数来修改phpmyadmin导入文件大小,有碰到此问题的朋友可参考。
具体方法
修改php上传文件大小的几个配置参数
upload_max_filesize
memory_limit
post_max_size
php配置文件(默认php.ini)里面以上这三项的值都要改大
找到upload_max_filesize, memory_limit 和 post_max_size这3个参数
upload_max_filesize,上传文件大小
memory_limit 设置内存
post_max_size 提交数据的最大值
将其修改成你想要的数据。例如这里我将其修改成了300M,修改完成后,保存退出,然后重洗启动:
sudo /etc/init.d/apache2 restart
在一般情况下如果我们要把excel数据库中的数据导入到mysql数据库我们没什么好办法实现了,但有了PHP Excel失控这后一切都变得简单了。本代码是在thinkphp中开始使用的
1.引入类
代码如下 | 复制代码 |
Vendor('PHPExcel.PHPExcel');//引入扩展类.就是/
$excel_file= ROOT_PATH."/public/Uploads/".$publicity_bankdata_mod->where("id=".$data['id'])->getField('excel_file'); |
上面看上去有点乱,下面我来写一个完整的类
代码如下 | 复制代码 |
<?php set_time_limit(20000); ini_set('memory_limit','-1'); require_once './PHPExcel.php'; require_once './PHPExcel/IOFactory.php'; require_once './PHPExcel/Reader/Excel5.php'; //使用pdo连接数据库 $dsn = "mysql:host=localhost;dbname=alumni;"; $user = "root"; $password = ""; try{ $dbh = new PDO($dsn,$user,$password); $dbh->query('set names utf8;'); }catch(PDOException $e){ echo "连接失败".$e->getMessage(); } //pdo绑定参数操作 $stmt = $dbh->prepare("insert into alumni(gid,student_no,name) values (:gid,:student_no,:name) "); $stmt->bindParam(":gid", $gid,PDO::PARAM_STR); $stmt->bindParam(":student_no", $student_no,PDO::PARAM_STR); $stmt->bindParam(":name", $name,PDO::PARAM_STR); $objReader = new PHPExcel_Reader_Excel5(); //use excel2007 $objPHPExcel = $objReader->load('bks.xls'); //指定的文件 $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); // 取得总行数 $highestColumn = $sheet->getHighestColumn(); // 取得总列数 for($j=1;$j<=10;$j++) { $student_no = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//第一列学号 $name = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//第二列姓名 $gid = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//第三列gid } //将获取的excel内容插入到数据库 $stmt->execute(); ?> |
php-excel-reader操作excel中的两个重要的方法:
1.dump(),它可以将excel内容以html格式输出:
echo $data->dump(true,true);
2.将excel数据存入数组中,使用$data->sheets,打印下如下:
代码如下 | 复制代码 |
Array [link] => http://www.phpddt.co |
例
代码如下 | 复制代码 |
<?php |
从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象。
在实际使用过程中需要和mb_strlen配合使用,mb_strlen的使用方法和strlen类似,只是多了一个编码参数:mb_strlen("我是要被计算长度的字符", "gbk");结果是11。
详细的使用例子:
比如字符串超过20个就需要截取:
代码如下 | 复制代码 |
if(mb_strlen($str, "gbk") >20) { $str = mb_substr($str, 0, 20, "gbk"); } |
注意:
确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面。
2.在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到
;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了
相关文章
- 操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
- 本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
- 在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
- 通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
- 某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
- mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
- 1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
- 这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25
- yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作。 User::find()->all(); //返回所有用户数据; User::findOne($id); //返回 主键...2015-11-24
- 1.用phpmyadmin创建数据库和数据表 创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或执行语句: 复制代码 代码如下:CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创...2015-10-21
- 这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-10
- Promise是异步编程的一种解决方案,在ES6中Promise被列为了正式规范,统一了用法,原生提供了Promise对象。接下来通过本文给大家介绍Promise的介绍及基本用法,感兴趣的朋友一起看看吧...2021-10-21
- 这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
- “主机,用户名,密码”得到连接、“数据库,sql,连接”得到结果,最后是结果的处理显示。当然,数据库连接是扩展库为我们完成的,我们能做的仅仅是处理结果而已。...2013-09-29
- 对数据加密分两种,一种是对数据库本身进行加密,另一种是对数据表中的数据进行加密,下面通过本文给大家介绍C#连接加密的Sqlite数据库的方法,感兴趣的朋友一起看看吧...2020-06-25
- 这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
- 本篇文章是对C#连接Oracle数据库的连接字符串进行了详细的分析介绍,需要的朋友参考下...2020-06-25