標籤:linu 資料存放區 lnmp 允許 dump 防火牆 更新 切換 啟動
資料庫
1.什麼是資料庫
如果一個項目是動態內容 資料庫是必須的
2.MySQL
是一個關係型資料庫管理系統 最流行的資料庫管理系統之一
在web應用上MySQL是最好的 和php是黃金搭檔(LAMP LNMP)
3.常見其他資料庫軟體
Oracle(重量級) MS SQL Server
4.linux下的軟體安裝方法(初步)
1.源碼包(依賴少 安裝時間短)
優點:開源 可以修改原始碼
編譯安裝 適合自己的系統 穩定性高
缺點:安裝步驟多 容易出錯
編譯過程時間長
案例 使用源碼編譯安裝方式安裝ncurses(常用的一個終端庫)
步驟:
1.將軟體包傳遞到伺服器之上----------------上傳到伺服器/usr/local/src/
2.解壓需要安裝的源碼包
tar -zxvf *.tar.gz--------------------------tar -zxvf nurses-6.1.tar.gz
tar -jxvf *tar.bz2
3.切換到源碼目錄
配置(config/configure/bootstrap)----------./configure --prefix=/usr/local/ncurses
編譯(make/bootstrapd)-------------------make
安裝(make install/bootstrpd install)----------make install
配置操作主要指定軟體的安裝路徑 需要依賴在什麼敵方 指定不需要可選依賴,設定檔的路徑 通用資料存放區位置等等
指定安裝的路徑: --prefix=路徑
需要依賴的路徑:--with-PACKAGE名=包所在路徑
不需要依賴:--without-PACKAGE名
2.二進位包
優點:包管理系統簡單 只需要幾個命令就可以實現包的安裝 升級 查詢和卸載
缺點:經過編譯 不再可以看到源碼
回顧rpm指令
rpm -qa|grep 關鍵詞
rpm -e 關鍵詞 [--nodeps]
rpm -ivh 完整名稱
rpm -Uvh 完整名稱
rpm -qf 檔案路徑 查詢指定檔案屬於哪麼包
案例:使用二進位包安裝lynx(一款純命令列的瀏覽器)
在光碟片中就有這個包
lsblk 查看光碟片是否掛載
安裝好之後 查看網頁------------------------ lynx –dump 網站地址
3.yum安裝
優點:安裝簡單快捷
缺點:完全喪失自訂性
yum list ---------------------列出當前已經裝的 和可以裝的軟體
yum search 名 ---------------搜尋指定額度關鍵詞的包
yum [-y] install 包名 -----------安裝指定的包(-y表示允許不再確認)
yum [-y] update [包名] ----------更新指定的包 不指定包則更新全部軟體
yum [-y] remove 包名 ----------卸載指定的包
5.安裝MySQL
1.MySQL安裝
yum install mysql-server
2.MySQL初始化
service mysqld start
netstat -thlp 查看資料庫連接埠號碼 3306
mysql_secure_installation
輸入mysql的root使用者密碼
3.MySQL的啟動
網域名稱:service mysqld start
進入mysql方式--------------------mysql -u 使用者名稱 -p
然後輸入密碼 就進入啦
退出命令:------------------------exit
4.預設目錄/檔案位置
資料庫儲存目錄: /var/lib/mysql
設定檔: /etc/my.cnf
6.MySQL的基本操作
1.名詞介紹:
以excal為例
資料庫:可以看作是整個excal
資料表:可以看作excal中的工作表
行(記錄):可以看作是一個工作表中的一行
列(欄位):可以看作是一個工作表中的一列
2.庫操作:
以下命令在MySQL終端命令列中執行
SHOW DATABASES; 顯示當前MySQL中全部的資料庫
CREATE DATABASE 庫名 建立一個資料庫
DROP database 庫名 刪除一個資料庫
use 庫名 切換資料庫
3.表操作
1.show tables 顯示當前資料庫中所有的表名(必須先use 資料庫)
2.create table 表名稱
(列名稱1 資料類型【NOT NULL AUTO_INCREMENT】,
列名稱2 資料類型,
列名稱2 資料類型
。。。
PRIMARY KEY(主鍵欄位名));
3.desc 表名 表示描述一個資料表(查看錶結構)
4. drop table【if existed】表名 刪除資料表
4.記錄/欄位操作
1.增加記錄
insert into 表名稱 values(值1,值2.。。。。。)
insert into 表名稱(列1,列2.。。)values(值1,值2.。。。);
2.查詢記錄
select 列名稱1,列名稱2 from 表名稱 where 條件; 查詢指定欄位
select * from 表名稱 where 條件; 查詢全部欄位
3.更新記錄
update 表名稱 set 列名稱1=新值1,列名稱2=新值2.。。。。。。 where 條件;
以後在執行行數的sql操作的時候注意條件的書寫
4.刪除操作
delete from 表名稱 where 列名稱=值;
5.備份與還原
1.備份
全量備份(資料+結構): mysqldump -uroot -p123456 -A >備份檔案路徑
指定庫備份(資料+結構):mysqldump -uroot -p123456 庫名>備份檔案路徑
多個庫備份(資料+結構):mysqldump -uroot -p123456 --databases db1 db2>備份檔案路徑
案例:每分鐘自動備份一次資料庫
1.建立shell指令碼(touch test19.sh---àvim test19.sh)
#!/bin/bash
filename=“test_” data+’%Y%m%d%H%M%S’ “.sql”
mysqldump -uroot -p123456 test>/root/$filename
2.編寫任務計劃(crontab -e)
***** /root/test19.sh
2.還原:
還原部分分為mysql命令列sourse方法和 系統命令列方法
1.還原全部資料庫
1.mysql命令列:mysql> source 備份檔案路徑
2.系統命令列:mysql -uroot -p123456 <備份檔案路徑
2.還原單個資料庫(需要指定資料庫)
1.mysql>use 庫名
mysql> sourse 備份檔案路徑
2.mysql -uroot -p123456 庫名<備份檔案路徑
3.還原單個資料庫的多個表(需指定資料庫)
1.mysql>use 庫名
mysql>source 備份檔案路徑
2.mysql -uroot -p123456 庫名<備份檔案路徑
4.還原多個資料庫(一個備份檔案裡有多個資料庫的備份 此時不需要指定資料庫)
1.mysql命令列: mysql>source 備份檔案路徑
2.系統命令列:mysql -uroot -p123456 < 備份檔案路徑
5.設定mysql串連字元集
mysql>set names utf-8;
拓展
使用遠程終端串連資料庫
1.mysql的遠端管理工具
分為兩類 : B/S架構 瀏覽器和伺服器 如百度搜尋應用
C/S架構 用戶端和伺服器 如應用程式
在BS中 mysql有一個典型的管理工具: PMA(phpMyAdmin)
在CS中有個比較典型的軟體:Navicat mysql workbrach
2.Navicat使用步驟
1.關閉防火牆:----service iptables stop
2.開啟Navicat 串連MySQL 輸入串連名 ip地址 連接埠號碼 使用者名稱 密碼
要解決問題 :允許MySQL遠程登陸
1.進入資料庫
2.執行sql語句:------- select host,user from user;
3.將其中的一個host值改為“%” 表示可以允許任何地方登陸
------updata user set host =“%” where host=“主機名稱” ;
4.重新整理許可權表(mysql> flush privileges) 或者重啟MySQL
linux學習-----資料庫MySQL