標籤:無法 shutdown 函數 dex 之一 授權 admin enter art
1.資料庫
什麼是資料庫?
資料庫是按照資料結構來組織、儲存和管理資料的倉庫,
每個資料庫都有一個或多個不同的API用於建立,訪問,管理,搜尋和賦值所儲存的資料。
我們也可以將資料存放區在檔案中,但是在檔案中讀取資料速度相對比較慢。
所以我們使用關係型資料庫來儲存和管理大資料量。
特點:
1.資料以表格形式出現
2.每行為位各種記錄名稱
3.每列位記錄名稱所對應的資料域
4.許多行和列組成一張表
5.若干表組成database
mysql資料庫
mysql是最流行的關係型資料庫管理系統,WEB方面Mysql是最好的RDBMS:(關係資料管理系統)應用軟體之一。由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了靈活性。
MySQL使用標準的SQL資料語言形式。
MySQL可以允許多個系統上並且支援多種語言。這些程式設計語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
Mysql對PHP有很好的支援,PHP是目前最流行的WEB開發語言。
Mysql支援大型資料庫,支援5000萬條記錄的資料倉儲,32位系統資料表檔案最大可支援4GB64位系統支援最大的表檔案為8TB。
Mysql是可以定製的,採用BPL協議,可以通過修改原始碼來開發自己的Mysql系統
2.MYSQL資料庫的安裝使用
Linux/UNIX上安裝mysql
安裝步驟如下:
使用root使用者登陸你的Linux系統。
下載Mysqlrpm包,為:百度
也可以通過命令來安裝,rpm包為你下載的rpm包:
1 [[email protected]]# r
pm -i MySQL-5.0.9-0.i386.rpm
以上安裝mysql伺服器的過程中會建立MYSQL使用者,並且建立一個mysql設定檔my.cnf。
也可以直接通過修改/usr/bin和/usr/sbin中找到所有與mysql相關的二進位檔案。所有資料表和資料庫將在/ var/lib/mysql中建立。
一下是一些mysql可選安裝過程,你可以根據自己的需求來安裝
1 [[email protected]]# rpm -i MySQL-client-5.0.9-0.i386.rpm2 [[email protected]]# rpm -i MySQL-devel-5.0.9-0.i386.rpm3 [[email protected]]# rpm -i MySQL-shared-5.0.9-0.i386.rpm4 [[email protected]]# rpm -i MySQL-bench-5.0.9-0.i386.rpm
windows上安裝mysql
windows上安裝mysql比較簡單,只需要下載壓縮檔,並解壓安裝包。
雙擊setup.exe,根據提示資訊進行安裝即可,預設情況下會安裝在c:\mysql目錄中。
接下來可以開啟命令列中切換到c:\mysql\bin\目錄,並輸入命令:
mysqld.exe --console
安裝成功會輸出mysql啟動以及InnoDB資訊。
使用mysqlclient來執行簡單的SQL命令
你可以在mysql用戶端使用mysql命令串連到mysql伺服器上,預設密碼為空白,所以第一次不需要輸入密碼。
Linux系統啟動時啟動MySQL
如果需要在LInux系統啟動時啟動Mysql伺服器,你需要在/etc/rc.local檔案中添加一下命令:
/etc/init.d/mysqld start
同樣,你需要將mysqld二進位檔案添加到/etc/init.d/目錄中。
3.mysql管理
啟動以及關閉MySQL伺服器
首先,我們需要通過一下命令來檢查Mysql伺服器是否啟動:
ps -ef | grep mysqld
如果mysql已經啟動,以上命令將輸出mysql進程表,如果mysql未啟動,你可以使用以下命令來啟動mysql伺服器:
root@host# cd /usr/bin./mysqld_safe &
如果你想關閉目前啟動並執行MySQL伺服器,你可以執行以下命令:
root@host# cd /usr/bin./mysqladmin -u root -p shutdownEnter password: ******
mysql使用者佈建
如果你需要添加MySQL使用者,你只需要在Mysql資料庫中的user表添加新使用者即可。
以下為添加命令執行個體,使用者名稱為guest,密碼為guest123,並授權使用者可進行SELECT,INSERT和update操作許可權:
root@host# mysql -u root -pEnter password:*******mysql> use mysql;Database changed mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES (‘localhost‘, ‘guest‘, PASSWORD(‘guest123‘), ‘Y‘, ‘Y‘, ‘Y‘);Query OK, 1 row affected (0.20 sec) mysql> FLUSH PRIVILEGES;Query OK, 1 row affected (0.01 sec) mysql> SELECT host, user, password FROM user WHERE user = ‘guest‘;+-----------+---------+------------------+| host | user | password |+-----------+---------+------------------+| localhost | guest | 6f8c114b58f2ce9e |+-----------+---------+------------------+1 row in set (0.00 sec)
在添加使用者是,請注意使用MySQL提供的PASSWORD()函數來對密碼進行加密。你可以在以上執行個體看到使用者密碼加密後為:
6f8c114b58f2ce9e.
注意:在Mysql5.7中user表的password已經換成了authentication_string。
注意:在注意需要執行 FLUSH PRIVILEGES 語句。 這個命令執行後會重新載入授權表。
如果你不使用該命令,你就無法使用新建立的使用者來串連mysql伺服器,除非你重啟mysql伺服器。
你可以在建立使用者時,為使用者指定許可權,在對應的許可權列中,在插入語句中設定為 ‘Y‘ 即可,使用者權限列表如下:
Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv
另外一種添加使用者的方法為通過SQL的 GRANT 命令,你下命令會給指定資料庫TUTORIALS添加使用者 zara ,密碼為 zara123 。
root@host# mysql -u root -p password;Enter password:*******mysql> use mysql;Database changed mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON TUTORIALS.* -> TO ‘zara‘@‘localhost‘ -> IDENTIFIED BY ‘zara123‘;
/etc/my.cnf 檔案配置
一般情況下,你不需要修改該設定檔,該檔案預設配置如下:
[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock [mysql.server]user=mysqlbasedir=/var/lib [safe_mysqld]err-log=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
管理MySQL的命令
以下列出了使用Mysql資料庫過程中常用的命令:
USE 資料庫名 :選擇要操作的Mysql資料庫,使用該命令後所有Mysql命令都只針對該資料庫。
SHOW DATABASES: 列出 MySQL 資料庫管理系統的資料庫列表。
SHOW TABLES: #顯示指定資料庫的所有表,使用該命令前需要使用 use命令來選擇要操作的資料庫。
SHOW COLUMNS FROM 資料表: #顯示資料表的屬性,屬性類型,主鍵資訊 ,是否為 NULL,預設值等其他資訊。
create database testdb charset "utf8"; #建立一個叫testdb的資料庫,且讓其支援中文
drop database testdb; #刪除資料庫
- SHOW INDEX FROM 資料表:顯示資料表的詳細索引資訊,包括PRIMARY KEY(主鍵)。
mysql的配置和安裝