初識MySQL
- 一.MySQL 安裝
- 1.卸載已有的 MySQL
- 2.獲取官方 yum 源
- 3.安裝 MySQL
- 4.登錄 MySQL
- 5.配置 my.cnf
- 二.MySQL 數據庫基礎
- 1.MySQL 是什么?
- 2.服務器,數據庫和表
- 3.mysqld 的層狀結構
- 4.SQL 語句分類
一.MySQL 安裝
1.卸載已有的 MySQL
//查詢是否有相關進程
ps axj | grep mysql
ps axj | grep mariadb//如果有就先把服務關掉(root權限)
systemctl stop mysqld
systemctl stop mariadb.service//一定有安裝包在Linux中,用yum方式獲取的安裝包都是.rpm形式的
rpm -qa | grep mysql //查詢MySQL的安裝包//卸載安裝包
rmp -qa | grep mysql | xargs yum remove -y //把查到的內容以xargs的形式喂給yum卸載程序//檢查是否卸載成功
ls /etc/my.cnf //這個目錄應該沒有了
ls /var/lib/mysql //這個目錄應該還有,因為MySQL卸載不會把數據清掉,不影響
2.獲取官方 yum 源
下載地址:repo.mysql.com
選擇:MySQL 5.7 版本,注意選擇匹配的操作系統
使用 rz 工具將 Windows 中下載的.rpm 安裝包傳送到 Linux 機器上
ls /etc/yum.repos.d/ -l //查看已有的yum源,發現沒有MySQL的yum源rpm -ivh [rpm安裝包名字] //安裝MySQL的yum源yum list | grep mysql //查詢有沒有與MySql相關的資源
3.安裝 MySQL
yum install -y mysql-community-server //yum自動在MySQL的yum源中選擇合適的MySQL安裝安裝遇到秘鑰過期?
解決方案:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022ls /etc/my.cnf //檢查是否存在這個文件
which mysqld //是否有服務端程序
which mysql //是否有客戶端程序systemctl start mysqld //啟動mysql服務端
ps axj | grep mysqld //查看服務進程是否已經啟動
4.登錄 MySQL
vim /etc/my.cnf //打開配置文件,加入一行:skip-grant-tables,表示登錄時跳過密碼認證
systemctl restart mysqld //重啟服務,使配置文件生效
mysql -uroot -p //登錄
說明:暫時先不講怎么設置密碼,用戶管理部分再談
5.配置 my.cnf
在my.cnf中加入如下內容:
character-set-server=utf8
default-storage-engine=innodb
datadir=/var/lib/mysql //這是以后數據庫文件存放路徑
socket=/var/lib/mysql/mysql.sock
二.MySQL 數據庫基礎
//登錄實際上就是連接到本機的或者遠端的mysqld
mysql -u [用戶名] -h [mysqld所在主機的ip地址] -P [mysqld的端口號] -p
-p:password
1.MySQL 是什么?
- MySQL 是基于 CS 的網絡服務,mysql 這個進程是客戶端,mysqld 是服務端,通常與 3306 端口綁定。
- MySQL 是給我們提供數據存取的網絡服務
- 我們口語上的數據庫,指的是在磁盤或內存中,以特定形式組織的數據。
為什么不用操作系統提供的虛擬文件系統?
文件可以存儲數據,但是不具備良好的數據管理能力,即對內容增刪查改。數據庫本質是對數據內容存儲的解決方案,程序員并不直接訪問文件,而是給數據庫提需求,數據庫處理需求,并把結果反饋給你。
2.服務器,數據庫和表
3.mysqld 的層狀結構
4.SQL 語句分類
- DDL(data definition):數據定義語言,維護存儲數據的結構,如 create,drop,alter
- DML(data manipulation):數據操縱語言,對數據操作,如 insert,delete,update。特別地,DML 中細分出一個 DQL——數據查詢語言,如 select
- DCL(data control):數據控制語言,負責權限管理和食物,如 grant,revoke,commit