在一個(gè)服務(wù)器上一般來講都不止一個(gè)站點(diǎn),更不止一個(gè)MySQL(和PHP搭配之最佳組合)數(shù)據(jù)庫。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、臨川網(wǎng)絡(luò)推廣、小程序定制開發(fā)、臨川網(wǎng)絡(luò)營銷、臨川企業(yè)策劃、臨川品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供臨川建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
為了防止安全隱患,我們一般針對(duì)每個(gè)數(shù)據(jù)庫都設(shè)置了獨(dú)立的數(shù)據(jù)庫訪問帳號(hào),該帳號(hào)僅有訪問該數(shù)據(jù)庫的權(quán)限。下面就讓我們來具體演示一下:
1、首先我們要登陸php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin,不做演示。
2、創(chuàng)建一個(gè)數(shù)據(jù)庫,如下圖,在php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin右邊窗口中,填寫數(shù)據(jù)庫名稱,點(diǎn)創(chuàng)建即可。
例如我們這里創(chuàng)建一個(gè)名字為:cncmstest 的數(shù)據(jù)庫
創(chuàng)建成功會(huì)有如下提示:
3、點(diǎn)擊左上角的主頁按鈕,返回php(做為現(xiàn)在的主流開發(fā)語言)MyAdmin主界面:
4、在主界面的右邊點(diǎn)擊“權(quán)限”來創(chuàng)建數(shù)據(jù)庫帳號(hào)。
5、在權(quán)限頁面中,我們點(diǎn)擊“添加新用戶”
6、在該頁面中,我們填寫要?jiǎng)?chuàng)建的數(shù)據(jù)庫用戶名,該用戶的訪問范圍,及密碼。
如上圖,我們填寫了用戶名為:cncmsuser,該數(shù)據(jù)庫用戶只允許本機(jī)訪問,主機(jī)一項(xiàng)選擇本地;密碼我們使用自動(dòng)生成的,點(diǎn)下面的“Generate”會(huì)生成一個(gè)隨機(jī)密碼,然后點(diǎn)“Copy”會(huì)自動(dòng)填寫到密碼框中。
下面的框都不選,直接拉到頁面最下面點(diǎn)執(zhí)行即可創(chuàng)建一個(gè)新用戶。
數(shù)據(jù)庫用戶創(chuàng)建成功,會(huì)返回如下頁面:
7、最重要的一步,設(shè)置該用戶的數(shù)據(jù)庫訪問權(quán)限
在數(shù)據(jù)庫用戶添加成功返回的頁面中可以直接設(shè)置權(quán)限。這里我們選擇按數(shù)據(jù)庫指定權(quán)限:
如上圖,在數(shù)據(jù)庫列表中選擇我們剛剛創(chuàng)建的cncmstest,即會(huì)自動(dòng)進(jìn)入該數(shù)據(jù)庫的權(quán)限設(shè)置頁面。
在上圖的權(quán)限設(shè)置中,我們把“數(shù)據(jù)”、“結(jié)構(gòu)”兩列的權(quán)限全部選中,管理權(quán)限都不要選。點(diǎn)執(zhí)行即可。
到這里,我們已經(jīng)全部設(shè)置完畢了,創(chuàng)建了一個(gè)數(shù)據(jù)庫:cncmstest,并創(chuàng)建了數(shù)據(jù)庫用戶cncmsuser,特別指定了該用戶只對(duì)cncmstest的訪問權(quán)限。如此,便達(dá)到了我們一開始所講的目的:為每一個(gè)數(shù)據(jù)庫指定獨(dú)立的用戶訪問權(quán)限。
創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名
創(chuàng)建數(shù)據(jù)表:
CREATE TABLE `users` (
`id` tinyint(10) auto_increment primary key NOT NULL,
`username` varchar(30) NOT NULL,
`age` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
執(zhí)行這兩個(gè)sql語句就行
使用EclipsePHP Studio 3 創(chuàng)建一個(gè)PHP工程名稱為test1,在工程名下面userinfo的文件夾,然后在文件夾創(chuàng)建一個(gè)PHP文件(userinfo_create.php):
2
打開我們創(chuàng)建PHP文件:
先設(shè)置 地址,賬號(hào),密碼:
$url = "127.0.0.1";//連接數(shù)據(jù)庫的地址
$user = "root"; //賬號(hào)
$password = "root";//密碼
//獲取連接$con = mysql_connect($url,$user,$password);
if(!$con){
die("連接失敗".mysql_error());
}
3
設(shè)置具體連接的數(shù)據(jù),那我們這兒連接test數(shù)據(jù)庫,我們通過Navicat 打開mysql 數(shù)據(jù)庫
mysql_select_db("test");
phpstudy數(shù)據(jù)庫創(chuàng)建步驟:
1、點(diǎn)擊打開phpstudy軟件,然后點(diǎn)擊mySQL管理器;
2、進(jìn)入到PHPmyadmin登陸界面,默認(rèn)賬號(hào)和密碼都是root;
3、登陸進(jìn)去后;
4、然后,點(diǎn)擊數(shù)據(jù)庫,輸入想要的數(shù)據(jù)名稱,如:new,這個(gè)隨便??;
5、點(diǎn)擊創(chuàng)建后,成功后;
你做好程序以后,把數(shù)據(jù)庫導(dǎo)出成sql文件
1、連接數(shù)據(jù)庫
2、讀取這個(gè)sql文件里的sql語句,并執(zhí)行
3、生成一個(gè)數(shù)據(jù)庫連接參數(shù)的php文件
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
if?(mysql_query("CREATE?DATABASE?my_db",$con))
{
echo?"Database?created";
}
else
{
echo?"Error?creating?database:?"?.?mysql_error();
}
mysql_close($con);
?
?php
class?ReadSql?{
//數(shù)據(jù)庫連接
protected?$connect?=?null;
//數(shù)據(jù)庫對(duì)象
protected?$db?=?null;
//sql文件
public?$sqlFile?=?"";
//sql語句集
public?$sqlArr?=?array();
public?function?__construct($host,?$user,?$pw,?$db_name)?{
$host?=?empty($host)???C("DB_HOST")?:?$host;
$user?=?empty($user)???C("DB_USER")?:?$user;
$pw?=?empty($pw)???C("DB_PWD")?:?$pw;
$db_name?=?empty($db_name)???C("DB_NAME")?:?$db_name;
//連接數(shù)據(jù)庫
$this-connect?=?mysql_connect($host,?$user,?$pw)?or?die("Could?not?connect:?"?.?mysql_error());
$this-db?=?mysql_select_db($db_name,?$this-connect)?or?die("Yon?can?not?select?the?table:"?.?mysql_error());
}
//導(dǎo)入sql文件
public?function?Import($url)?{
$this-sqlFile?=?file_get_contents($url);
if?(!$this-sqlFile)?{
exit("打開文件錯(cuò)誤");
}?else?{
$this-GetSqlArr();
if?($this-Runsql())?{
return?true;
}
}
}
//獲取sql語句數(shù)組
public?function?GetSqlArr()?{
//去除注釋
$str?=?$this-sqlFile;
$str?=?preg_replace('/--.*/i',?'',?$str);
$str?=?preg_replace('/\/\*.*\*\/(\;)?/i',?'',?$str);
//去除空格?創(chuàng)建數(shù)組
$str?=?explode(";\n",?$str);
foreach?($str?as?$v)?{
$v?=?trim($v);
if?(empty($v))?{
continue;
}?else?{
$this-sqlArr[]?=?$v;
}
}
}
//執(zhí)行sql文件
public?function?RunSql()?{
foreach?($this-sqlArr?as?$k?=?$v)?{
if?(!mysql_query($v))?{
exit("sql語句錯(cuò)誤:第"?.?$k?.?"行"?.?mysql_error());
}
}
return?true;
}
}
//范例:
header("Content-type:text/html;charset=utf-8");
$sql?=?new?ReadSql("localhost",?"root",?"",?"log_db");
$rst?=?$sql-Import("./log_db.sql");
if?($rst)?{
echo?"Success!";
}
?