MYSQL新手入門篇

来源:http://www.cnblogs.com/kading/archive/2016/11/21/6085933.html
-Advertisement-
Play Games

一、資料庫的簡介 什麼是資料庫? 數據的倉庫,如:在atm的實例中我們創建一個db目錄稱之為資料庫 什麼是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 他們是資料庫軟體,主要功能為兩部分:1、講數據保存到記憶體或者文件。2、接受特定的命令對數據進行操作 什麼 ...


一、資料庫的簡介

什麼是資料庫?

數據的倉庫,如:在atm的實例中我們創建一個db目錄稱之為資料庫

什麼是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ?

他們是資料庫軟體,主要功能為兩部分:1、講數據保存到記憶體或者文件。2、接受特定的命令對數據進行操作

什麼是SQL?

上述問題說過,資料庫要接受特定的命令,這個命令就是用SQL編寫,他是結構化查詢語言(Structured Query Language)的縮寫,一種專門與資料庫交互的語言。

二、資料庫的安裝

windows版本

1、下載

MySQL Community Server 5.7.16
 
http://dev.mysql.com/downloads/mysql/

2、解壓

如果想要讓MySQL安裝在指定目錄,那麼就將解壓後的文件夾移動到指定目錄,如:C:\mysql-5.7.16-winx64

3、初始化

MySQL解壓後的 bin 目錄下有一大堆的可執行文件,執行如下命令初始化數據:

cd c:\mysql-5.7.16-winx64\bin
 
mysqld --initialize-insecure

4、啟動MySQL服務

執行命令從而啟動MySQL服務

# 進入可執行文件目錄
cd c:\mysql-5.7.16-winx64\bin
 
# 啟動MySQL服務
mysqld

5、啟動MySQL客戶端並連接MySQL服務

由於初始化時使用的【mysqld --initialize-insecure】命令,其預設未給root賬戶設置密碼

# 進入可執行文件目錄
cd c:\mysql-5.7.16-winx64\bin
 
# 連接MySQL伺服器
mysql -u root -p
 
# 提示請輸入密碼,直接回車

輸入回車,見下圖表示安裝成功:

到此為止,MySQL服務端已經安裝成功並且客戶端已經可以連接上,以後再操作MySQL時,只需要重覆上述4、5步驟即可。但是,在4、5步驟中重覆的進入可執行文件目錄比較繁瑣,如想日後操作簡便,可以做如下操作。

 添加環境變數

將MySQL可執行文件添加到環境變數中,從而執行執行命令即可

【右鍵電腦】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】
 
如:
C:\Program Files (x86)\Parallels\Parallels Tools\Applications;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Python27;C:\Python35;C:\mysql-5.7.16-winx64\bin

如此一來,以後再啟動服務並連接時,僅需:

# 啟動MySQL服務,在終端輸入
mysqld
 
# 連接MySQL服務,在終端輸入:
mysql -u root -p

. 將MySQL服務製作成windows服務

上一步解決了一些問題,但不夠徹底,因為在執行【mysqd】啟動MySQL伺服器時,當前終端會被hang住,那麼做一下設置即可解決此問題:

# 製作MySQL的Windows服務,在終端執行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --install
 
# 移除MySQL的Windows服務,在終端執行此命令:
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove

註冊成服務之後,以後再啟動和關閉MySQL服務時,僅需執行如下命令:

 

# 啟動MySQL服務
net start mysql
 
# 關閉MySQL服務
net stop mysql

linux版本

安裝

yum install mysql-server  

啟動

mysql.server start

鏈接

連接:
    mysql -h host -u user -p
 
    常見錯誤:
        ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it means that the MySQL server daemon (Unix) or service (Windows) is not running.
退出:
    QUIT 或者 Control+D

三、資料庫的操作

1、顯示資料庫

SHOW DATABASES;

預設資料庫:
  mysql - 用戶許可權相關數據
  test - 用於用戶測試數據
  information_schema - MySQL本身架構相關數據

2、創建資料庫

# utf-8
CREATE DATABASE 資料庫名稱 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 
# gbk
CREATE DATABASE 資料庫名稱 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

3、使用資料庫

USE db_name;

4、用戶管理

創建用戶
    create user '用戶名'@'IP地址' identified by '密碼';
刪除用戶
    drop user '用戶名'@'IP地址';
修改用戶
    rename user '用戶名'@'IP地址'; to '新用戶名'@'IP地址';;
修改密碼
    set password for '用戶名'@'IP地址' = Password('新密碼')
  
PS:用戶許可權相關數據保存在mysql資料庫的user表中,所以也可以直接對其進行操作(不建議)

5、授權管理

show grants for '用戶'@'IP地址'                  -- 查看許可權
grant  許可權 on 資料庫.表 to   '用戶'@'IP地址'      -- 授權
revoke 許可權 on 資料庫.表 from '用戶'@'IP地址'      -- 取消許可權
 1 all privileges  除grant外的所有許可權
 2             select          僅查許可權
 3             select,insert   查和插入許可權
 4             ...
 5             usage                   無訪問許可權
 6             alter                   使用alter table
 7             alter routine           使用alter procedure和drop procedure
 8             create                  使用create table
 9             create routine          使用create procedure
10             create temporary tables 使用create temporary tables
11             create user             使用create userdrop user、rename user和revoke  all privileges
12             create view             使用create view
13             delete                  使用delete
14             drop                    使用drop table
15             execute                 使用call和存儲過程
16             file                    使用select into outfile 和 load data infile
17             grant option            使用grant 和 revoke
18             index                   使用index
19             insert                  使用insert
20             lock tables             使用lock table
21             process                 使用show full processlist
22             select                  使用select
23             show databases          使用show databases
24             show view               使用show view
25             update                  使用update
26             reload                  使用flush
27             shutdown                使用mysqladmin shutdown(關閉MySQL)
28             super                   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 資料庫中為了實現表格數據的自由設置,我們經常設計縱表,或者列定義的表(如下KeyValue),定義一個列超級多的表中每個欄位的意義。 但是在設計時簡單的東西卻很容易被人們忘記,如下一個簡單但是很鬆散的列表查詢。 這種設計可用於自定義列表查詢,EXCEL導出,很方便,使用起來比在C#中寫更便捷,不過缺 ...
  • 一、視圖 視圖是一個虛擬表(非真實存在),其本質是【根據SQL語句獲取動態的數據集,併為其命名】,用戶使用時只需使用【名稱】即可獲取結果集,並可以將其當作表來使用。 1 SELECT 2 * 3 FROM 4 ( 5 SELECT 6 nid, 7 NAME 8 FROM 9 tb1 10 WHER ...
  • 原文地址 本文是《緩存在分散式系統中的應用》第三篇文章。 上次主要給大家分享了,緩存在分散式系統中的應用,主要從不同的場景,介紹了CDN,反向代理,分散式緩存,本地緩存的常規架構和基本原理。 因為時間關於,原計劃分享《緩存常見問題》的內容,沒有講。本次主要針對緩存的常見個問題,做一個介紹。主要有以下 ...
  • 原文地址 緩存是分散式系統中的重要組件,主要解決高併發,大數據場景下,熱點數據訪問的性能問題。提供高性能的數據快速訪問。 本文是緩存在分散式應用第二篇文章,介紹分散式緩存,Memcache,Redis,本地緩存(硬碟緩存,記憶體緩存)以及緩存在分散式系統中的架構示例。本文主要是自己的學習總結和網路文章 ...
  • 環境:Windows server2008r2 安裝mysql-connector-odbc-5.3.6-win32 報錯 相信錯誤信息:Error 1918.errror installing ODBC driver mysql ODBC 5.3 ANSI Drive 原因是缺少Microsoft ...
  • 恢復內容開始 學過之後卻沒有總結,今天好不容易有點時間來看看。 存儲過程的優勢 1.簡化複雜的SQL語句,將多個SQL語句封裝成為一個存儲過程,可以在其中加上一些流程式控制制語句 2.存儲過程封裝在資料庫內部,編譯之後直接調用,大大提高效率 3.模塊化編程,將一定功能的SQL語句封裝,提高可讀性 創建存 ...
  • 同步發佈:http://www.yuanrengu.com/index.php/mysqlsolvetimestamp.html 在使用mysql時,如果資料庫中的欄位類型是timestamp,預設為0000-00-00,會發生異常:Value ‘0000-00-00 00:00:00’ can n ...
  • DBMS_NETWORK_ACL_ADMIN學習 轉載 http://blog.sina.com.cn/s/blog_4f925fc30102e2se.html 標簽: oracle it 分類: 資料庫 http://docs.oracle.com/cd/B28359_01/appdev.111/ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...