資料庫
dbms是管理資料庫的系統軟體,它實現資料庫系統的各種功能。是資料庫系統的核心
dba:負責維護資料安全
mysql: 關係型資料庫和結構化查詢語言
關係型資料庫管理系統rdbms
結構化查詢語言sql
常用關係型資料庫: mysql, oracle, postgresql
關係型資料庫和結構化查詢語言
關係: 即二維表,其中行,列次序並不重要
約束: 表中的資料要遵守的限制
行: 又稱記錄
列: 又稱字段
主鍵: 由乙個或多個字段組成,乙個表僅有乙個,確定每條記錄唯一的字段
唯一鍵: 由乙個或多個字段組成,乙個表可以有多個,確定每條記錄唯一的字段
外來鍵: 乙個表中可填入的資料取決於另乙個表的主鍵
域: 取值範圍
檢查: 字段值在一定範圍內
索引: 將表中的乙個或多個欄位中的資料複製乙份另存,並且按特定次序排序儲存
資料庫中的資料又稱為實體
資料聯絡:
1, 一對一聯絡
2, 一對多聯絡:主鍵外來鍵
3, 多對多聯絡:第三張表
資料庫規劃流程:
1,收集資料,得到字段
2,把字段分類,建立表的關聯
3,資料庫規範化
資料庫規範化
正規化1nf:無重複的列,每一列都是不可分割的基本資料項,同一列中不能有多個值
2nf:屬性完全依賴於主鍵,要求表中的每個行必須可以被唯一地區分
3nf:表中不包含已在其它表中已包含的非主關鍵字資訊
注: 滿足第一正規化是關係型資料庫的基本要求
分布式資料庫產品的特點?
1.資料分布在多個異地點,抗災性強
2.併發性高
3.受網路影響很大
4.擴充套件性強
mysql介紹
2023年發布 mysql1.0
2023年發布 mysql5.0
2023年sun 收購
2023年oracle收購sun
2023年成立 mariadb
版本演變
mysql: 5.5-->5.6-->5.7-->8.0
mariadb: 5.5-->10.0
mysql三大分支
mysql中的資料庫
系統資料庫
mysql資料庫
mysql的核心資料庫,儲存使用者,許可權,關鍵字等mysql的控制管理資訊
performance_schema資料庫和information_schema資料庫:
虛擬資料庫,收集伺服器效能引數等
sys資料庫:
效能指標和運**況,方便管理員閱讀,簡化版的performance_schema
rpm包安裝mysql
vim /etc/yum.repos.d/mysql.sh
[mariadb]
baseurl=
gpgcheck=0
yum install mariadb-server
二進位制安裝mysql 5.7
#安裝前準備
yum install -y perl-data-dumper numactl-libs libaio autoconf net-tools curl policycoreutils
#解包tar xf /root/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -c /usr/local/
#建立軟鏈結
ln -s /usr/local/mysql-5.7.28-linux-glibc2.12-x86_64/ /usr/local/mysql
#建立使用者,並修改屬主
useradd mysql -s /sbin/nologin -d /data/mysql
chown -r mysql:mysql /usr/local/mysql
#修改path變數
echo
'path=/usr/local/mysql/bin/:$path'
> /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
#伺服器配置檔案
cat> /etc/my.cnf <<-eof
[mysqld]
server-id=1
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
explicit_defaults_for_timestamp=true
[client]
socket=/data/mysql/mysql.sock
eof#生成資料庫檔案
mysqld --initialize --user=mysql --datadir=/data/mysql
#服務啟動
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
#修改密碼
`awk
'/a temporary password/' /data/mysql/mysql.log`
mysqladmin -uroot -p... password ssy192011
#安全初始化指令碼
mysql_secure_installation
二進位制安裝mysql 5.6
yum install -y perl-data-dumper numactl-libs libaio autoconf net-tools curl policycoreutils
yum install
wget -y
wget
useradd -r mysql -s /sbin/nologin
tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz -c /usr/local/
cd /usr/local
ln -s mysql-5.6.46-linux-glibc2.12-x86_64 mysql
chown -r root.root mysql/
cd /usr/loacl/mysql/
echo
"path=/usr/local/mysql/bin:$path"
>> /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
scripts/mysql_install_db --datadir=/data/mysql --user=mysql
cat /etc/my.cnf
[client]
port=3306
socket=/data/mysql/mysql.sock
# the mysql server
[mysqld]
port=3306
socket=/tmp/mysql.sock
datadir=/data/mysql
cp support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
service mysql start
mysql_secure_installation 安全初始化指令碼
mysql -uroot -pmysqlroot
mysql資料庫概念 Mysql及資料庫的基礎概念
dbms 資料庫管理系統層次模型 網狀模型 關係模型 rdbms 關係型資料庫管理系統 檔案儲存 資料的冗餘和不一致性難以解決 當資料量很大時,檔案儲存的訪問很困難 當資料在不同的檔案時,可能會造成資料的格式不一致,及資料太過於分散造成資料孤立 資料的完整性問題 如兩個銀行之間轉錢過程 現故障,要保...
資料庫理論和安裝MySQL
資料庫是存放資料的倉庫。它的儲存空間很大,可以存放百萬條 千萬條 上億條資料。但是資料庫並不是隨意地將資料進行存放,是有一定的規則的,否則查詢的效率會很低。當今世界是乙個充滿著資料的網際網路世界,充斥著大量的資料。即這個網際網路世界就是資料世界。資料的 有很多,比如出行記錄 消費記錄 瀏覽的網頁 傳...
Mysql資料庫基礎概念
1.什麼是資料庫?資料庫 database 是儲存資料的倉庫,高效的儲存和處理資料的介質 磁碟和記憶體 2.資料庫分類 基於介質分類 資料庫分為關係型資料庫 sql 和非關係型資料庫 nosql 關係型資料庫又分為大型資料庫 oracle,db2 和中型資料庫 sql,mysql 小型資料庫 acc...