Ⅰ 如何使用已經安裝的MYSQL資料庫
資料庫主機:localhost這個不用改,代表本機資料庫帳號:我喜歡設置為
sa資料庫密碼:我一般不填,不過為了安全,最好還是填上,自己想一個填上資料庫名:這個也是自己起的數據表前綴:這個也是自己隨便起的,用於和別的程序員區分用資料庫字元集:默認啟用持久連接:默認創始人信息:這個就不用解釋了吧
Ⅱ 怎麼使用MySQL資料庫的23個注意事項
使用MySQL,安全問題不能不注意。以下是MySQL提示的23個注意事項:
1。如果客戶端和伺服器端的連接需要跨越並通過不可信任的網路,那麼就需要使用SSH隧道來加密該連接的通信。
2。用set password語句來修改用戶的密碼,三個步驟,先「mysql -u root」登陸資料庫系統,然後「mysql> update mysql.user set password=password('newpwd')」,最後執行「flush privileges」就可以了。
3。需要提防的攻擊有,防偷聽、篡改、回放、拒絕服務等,不涉及可用性和容錯方面。對所有的連接、查詢、其他操作使用基於ACL即訪問控制列表的安全措施來完成。也有一些對SSL連接的支持。
4。除了root用戶外的其他任何用戶不允許訪問mysql主資料庫中的user表;
加密後存放在user表中的加密後的用戶密碼一旦泄露,其他人可以隨意用該用戶名/密碼相應的資料庫;
5。用grant和revoke語句來進行用戶訪問控制的工作;
6。不使用明文密碼,而是使用md5()和sha1()等單向的哈系函數來設置密碼;
7。不選用字典中的字來做密碼;
8。採用防火牆來去掉50%的外部危險,讓資料庫系統躲在防火牆後面工作,或放置在DMZ區域中;
9。從網際網路上用nmap來掃描3306埠,也可用telnet server_host 3306的方法測試,不能允許從非信任網路中訪問資料庫伺服器的3306號TCP埠,因此需要在防火牆或路由器上做設定;
10。為了防止被惡意傳入非法參數,例如where ID=234,別人卻輸入where ID=234 OR 1=1導致全部顯示,所以在web的表單中使用''或""來用字元串,在動態URL中加入%22代表雙引號、%23代表井號、%27代表單引號;傳遞未檢 查過的值給mysql資料庫是非常危險的;
11。在傳遞數據給mysql時檢查一下大小;
12。應用程序需要連接到資料庫應該使用一般的用戶帳號,只開放少數必要的許可權給該用戶;
13。在各編程介面(C C++ PHP Perl Java JDBC等)中使用特定『逃脫字元』函數;
在網際網路上使用mysql資料庫時一定少用傳輸明文的數據,而用SSL和SSH的加密方式數據來傳輸;
14。學會使用tcpmp和strings工具來查看傳輸數據的安全性,例如tcpmp -l -i eth0 -w -src or dst port 3306 | strings。以普通用戶來啟動mysql資料庫服務;
15。不使用到表的聯結符號,選用的參數 --skip-symbolic-links;
16。確信在mysql目錄中只有啟動資料庫服務的用戶才可以對文件有讀和寫的許可權;
17。不許將process或super許可權付給非管理用戶,該mysqladmin processlist可以列舉出當前執行的查詢文本;super許可權可用於切斷客戶端連接、改變伺服器運行參數狀態、控制拷貝復制資料庫的伺服器;
18.file許可權不付給管理員以外的用戶,防止出現load data '/etc/passwd'到表中再用select 顯示出來的問題;
19。如果不相信DNS服務公司的服務,可以在主機名稱允許表中只設置IP數字地址;
20。使用max_user_connections變數來使mysqld服務進程,對一個指定帳戶限定連接數;
21.grant語句也支持資源控制選項;
22。啟動mysqld服務進程的安全選項開關,--local-infile=0 或1 若是0則客戶端程序就無法使用local load data了,賦權的一個例子grant insert(user) on mysql.user to 'user_name'@'host_name';若使用--skip-grant-tables系統將對任何用戶的訪問不做任何訪問控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟訪問控制;默認情況是show databases語句對所有用戶開放,可以用--skip-show-databases來關閉掉。
23。碰到Error 1045(28000) Access Denied for user 'root'@'localhost' (Using password:NO)錯誤時,你需要重新設置密碼,具體方法是:先用--skip-grant-tables參數啟動mysqld,然後執行 mysql -u root mysql,mysql>update user set password=password('newpassword') where user='root';mysql>Flush privileges;,最後重新啟動mysql就可以了。
Ⅲ mysql如何應用
恢復整個資料庫 首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用--skip-grant-tables選項運行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladmin flush-privileges 來告訴伺服器載入授權表,並用它們啟動。 將原資料庫目錄的內容拷貝到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortem examination)。 用最新的備份文件重新載入資料庫。如果您打算使用由mysqlmp 載入的文件,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該資料庫目錄中。但是,在這種情況下,應該在拷貝這些文件之前關閉伺服器,然後再重新啟動它。 用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定--one-database 選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌文件,可在包含日誌的目錄中使用下列命令: % ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_name ls 命令產生更新日誌文件的單列列表,更新日誌文件根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。 您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393 等等,可以重新運行它們中的命令: % mysql--one-database db_name < updata.392 % mysql--one-database db_name < updata.393 … 如果正在運行恢復並打算使用更新日誌恢復由於失策的DROP DATA BASE、DROPTABLE或DELETE 語句而丟失的信息,應確保先從更新日誌中刪除這些語句。 恢復單個的表 恢復單個表是很困難的。如果有通過mysqlmp 生成的備份文件並且它恰好不包含您想要的表數據,則需要抽取相關的行並用它們作為mysql的輸入,這部分較容易。困難的是抽取應用於該表的更新日誌的片段。您會發現: mysql_find_rows 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。 另一種可能性是用另一個伺服器恢復整個資料庫,然後將所要的該表的文件拷貝到原始資料庫中。這實際很容易!在將文件拷貝回資料庫目錄時,應確保原始資料庫的伺服器關閉。
孔為峻釋父倪宗夜鵬台序芩渙泰奘緩菖彥考帔軒
Ⅳ mysql資料庫用怎麼操作
1、使用show語句找出在伺服器上當前存在什麼資料庫:
mysql>
show
databases;
+----------+
|
database
|
+----------+
|
mysql
|
|
test
|
+----------+
3
rows
in
set
(0.00
sec)
2、創建一個資料庫abccs
mysql>
create
database
abccs;
注意不同操作系統對大小寫的敏感。
3、選擇你所創建的資料庫
mysql>
use
abccs
database
changed
此時你已經進入你剛才所建立的資料庫abccs.
4、
創建一個資料庫表
首先看現在你的資料庫中存在什麼表:
mysql>
show
tables;
empty
set
(0.00
sec)
說明剛才建立的資料庫中還沒有資料庫表。下面來創建一個資料庫表mytable:
我們要建立一個你公司員工的生日表,表的內容包含員工姓名、性別、出生日期、出生城市。
mysql>
create
table
mytable
(name
varchar(20),
sex
char(1),
->
birth
date,
birthaddr
varchar(20));
query
ok,
0
rows
affected
(0.00
sec)
由於name、birthadd的列值是變化的,因此選擇varchar,其長度不一定是20。可以選擇從1到255的任何長度,如果以後需要改變它的字長,可以使用alter
table語句。);性別只需一個字元就可以表示:"m"或"f",因此選用char(1);birth列則使用date數據類型。
創建了一個表後,我們可以看看剛才做的結果,用show
tables顯示資料庫中有哪些表:
mysql>
show
tables;
+---------------------+
|
tables
in
menagerie
|
+---------------------+
|
mytables
|
+---------------------+
5、顯示表的結構:
mysql>
describe
mytable;
+-------------+-------------+------+-----+---------+-------+
|
field
|
type
|
null
|
key
|
default
|
extra
|
+-------------+-------------+------+-----+---------+-------+
|
name
|
varchar(20)
|
yes
|
|
null
|
|
|
sex
|
char(1)
|
yes
|
|
null
|
|
|
birth
|
date
|
yes
|
|
null
|
|
|
deathaddr
|
varchar(20)
|
yes
|
|
null
|
|
+-------------+-------------+------+-----+---------+-------+
4
rows
in
set
(0.00
sec)
6、
往表中加入記錄
我們先用select命令來查看錶中的數據:
mysql>
select
*
from
mytable;
empty
set
(0.00
sec)
這說明剛才創建的表還沒有記錄。
加入一條新記錄:
mysql>
insert
into
mytable
->
values
(′abccs′,′f′,′1977-07-07′,′china′);
query
ok,
1
row
affected
(0.05
sec)
再用上面的select命令看看發生了什麼變化。我們可以按此方法一條一條地將所有員工的記錄加入到表中。
Ⅳ MySQL如何使用它是怎樣工作的
MySQL是一個開源且免費的資料庫系統,適合於中小規模應用,管理超大規模的資料庫比較困難。因其免費,目前被廣泛用於網站的後台資料庫系統。其相比商業的資料庫系統如Microsoft的 SQL Server、甲骨文的Oracle、IBM的DB2,當然其最大的優勢是免費,其次比較小巧,但功能和性能一點也不差,做網站和PHP是絕配。當然和Access相比,MySQL專業的多了,Access只是一個微型且性能穩定性比較差的資料庫,這些資料庫系統工作的原理都是差不多的,以表的形式存儲數據
Ⅵ mysql資料庫軟體怎麼使用,如何連接數據
可以使用mysql推出的mysqlconnector/net組件,該組件是mysql為ado.net訪問mysql資料庫設計的.net專用訪問組件,完成該組件後,需要在項目中引用這個組件,之後在程序中引用命名空間mysql.data.mysqlclient,即可開始進行連接mysql資料庫的操作了,示例如下:
protected
voidmysqlcon()
{
//資料庫連接字元串跟連接sqlserver沒有區別
string
constr
=
"server=localhost;userid=root;password=root;database=test";
//下面使用mysql
connector/net提供的專用對象
mysqlconnection
mycon
=
new
mysqlconnection(constr);
mycon.open();
mysqlcommandmycmd
=
new
mysqlcommand("select
*
from
users",
mycon);
mysqldatareader
myreader
=
mycmd.executereader();
while
(myreader.read())
{
if
(myreader.hasrows)
{
messagebox.show(myreader.getstring("email")
);
}
}
myreader.close();
mycon.close();
Ⅶ 如何用MySQL建立資料庫
1、首先在電腦端安裝MySQL,然後進行信息配置操作。打開該軟體,如圖所示。
Ⅷ mysql怎麼用裡面的資料庫命令
wampserver安裝好後,在瀏覽器中訪問,localhost/phpmyadmin/,登錄你當初設置的賬號密碼,就可以管理資料庫了。如果忘記賬號密碼,卸載了wamp重裝,記住賬號密碼,然後重復以上步驟。
安裝程序按照安裝的步驟進行,一般的程序安裝的時候需要你填入資料庫連接的賬號密碼的。輸入賬號密碼和相關的資料庫信息。
自己寫的程序可以,可以直接用程序連接資料庫。
<?php
$mysql_server_name='localhost'; //改成自己的mysql資料庫伺服器
$mysql_username='root'; //改成自己的mysql資料庫用戶名
$mysql_password='依貳三四5陸漆吧'; //改成自己的mysql資料庫密碼
$mysql_database='mycounter'; //改成自己的mysql資料庫名
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
$sql='create database mycounter default character set gbk collate gbk_chinese_ci;
';
mysql_query($sql);
$sql='create table `counter` (`id` int(貳55) unsigned not null auto_increment ,`count` int(貳55) unsigned not null default 0,primary key ( `id` ) ) type = innodb;';
mysql_select_db($mysql_database,$conn);
$result=mysql_query($sql);
//echo $sql;
mysql_close($conn);
echo "hello!資料庫mycounter已經成功建立!";
?