MySQL 常用語句以及基礎知識

來源:互聯網
上載者:User

標籤:ppa   stop   set   art   建立   比較   rop   查看   system   

RHEL7安裝MariaDB
Yum install –y mariadb mariadb-server
Mysql_install db //初始化資料庫
? 可以為root帳戶設定密碼。
? 可以刪除root可從本地主機以外訪問的帳戶。
? 可以刪除匿名使用者帳戶。
? 可以刪除test資料庫(預設情況下,所有使用者甚至匿名使用者都可以訪問該資料庫)以及允許任何人訪問以名稱開頭的資料庫的許可權 test

如果不初始化資料庫,mysql可以匿名登陸,會產生test資料庫
.
.
.
.
.
Mysqld_safe & //平滑啟動資料庫 &是後台啟動並執行意思
Systemctl start mariadb //啟動資料庫
Mysqladmin shutdown //關閉資料庫
Systemctl stop mariadb //停止資料庫
.
.
.
.
.
.
Mysql –uusername –ppassword //指定使用者和密碼登陸資料庫 密碼可不輸入(單獨輸入)
Mysql –uusername –ppassword –D mysql //-D 指定進入資料庫
Mysql –S /var/lib/mysql/mysql.sock //sock通訊端檔案 指定通訊端檔案sock來串連資料庫
Mysql –h (ip地址) //指定登陸一台主機上的資料庫 前提是指定的主機開啟並運行你串連
Mysql –e “use mysql;select user,host,password from user;” //-e 通過shell進行直接控制串連資料庫
-P 指定服務端連接埠
-C 壓縮資料轉送
-E 查詢結果縱向顯示 (庫外操作)
.
.
.
.
.
資料庫的建立:
Use mysql //切換資料庫
Select user,host,password from user; //查詢user表中user,host,password列
Create user ‘xiaoquan’@’localhost’ identified by ‘123’
Create database if not exists testdb; //如果testdb庫存在就不建立
.
.
.
密碼管理
在庫外設定資料庫密碼
mysqladmin –uroot password 123 //設定密碼
Mysqladmin –uroot –p123 password linux
在庫內設定密碼
Set password for ‘root’@’localhost’=password(‘123’J)’
.
.
.
MariaDB [(none)]> use mysql
MariaDB [mysql]> Insert into mysql.user(user,host,password) values(‘zhang’,’localhost’,password(‘123’)); //在mysql庫中的user表中的user,host,password欄位中插入資料(必須在庫內!)
Grant all on mysql.* to ‘zhangsan’@’localhost’ identified by ‘123’; //授權資料庫 如果使用者不存在將會自動建立使用者
.
.
刪除使用者:
1)Delete from mysql.user where user=’zhangsan’ and password=’123’;
Flush privileges //刪除和建立後都需要重新整理!!!
2)drop user ‘zhang’@’localhost’;
重新命名:
Rename user ‘xiaoquan’@’localhost’ to ‘zhang’@’localhost’;
3)5.7版本不可以使用!
Update mysql.user set password = password(‘xiaoquan’) where user=’root’ and host=’localhost’;
.
.
.
Mysql 密碼破解

  1. 停止mysql
    Mysqladmin shutdown
  2. 使用—skip-grant-tables啟動mysql
    Mysqld_safe –skip-grant-tables &
  3. Update mysql.user set password=password(‘123’) where user=’root’ and host=’localhost’;
    重啟資料庫
    .
    .
    .
    .
    .
    授權管理
    授權文法:grant all [privileges] on db.tbl ‘username’@’host’ identified by ‘password’;
    Grant all on . to ‘xiaoquan’@’localhost’ identified by ‘xiaoquan’; //將本地所有庫和表的許可權授權給xiaoquan
    Grant all on . to ‘xiaoquan’@’%’ identified by ‘xiaoquan’; //給所有主機上有使用者xiaoquan的授權
    Grant select on mysql.user to ‘zhang’@’localhost’ identified by ‘123’; //指定授權使用者可以查詢庫中的表
    Show grants for ‘zhang’@’localhost’\G //查看許可權
    Revoke select on mysql.user from ‘zhang’@’localhost’; //刪除許可權
    .
    .
    .
    .
    .
    .
    資料庫變數:
    Show global variables\G //查看所有全域變數
    Show global variables like ‘%version%\G //查看與版本version有關的全域變數
    Like 關鍵字匹配 % 萬用字元相當於*
    Show global variables where variable_name like ‘charavter%’; //global 全域 variables 變數 where 指定條件 variable_name 變數名 like 匹配 //查看全域與字元集相關的變數
    Show global variables where variable_name like ‘%log%’ and value=’off’; //查看日誌關閉的全域參數
    Show session variables\G //查看回話參數
    Show variables \G //不知名變數參數 預設的為session 回話參數
    .
    .
    Select @@[global.|session.] system_var_name //查看單個變數的文法
    Select @@global.pid_file; //查看pid_file變數參數
    .
    .
    MariaDB [(none)]> select @@session.autocommit; //查詢autocommit變數
    修改文法:(不指定類型,預設修改會話變數)
    MariaDB [(none)]> SET GLOBAL var_name = value;
    MariaDB [(none)]> SET @@GLOBAL.var_name = value;
    MariaDB [(none)]> SET SESSION var_name = value;
    MariaDB [(none)]> SET @@SESSIO.var_name = value;
    Set @@session.autoconmmit=0; //修改autocommint參數
    運行時修改的變數並非永久有效,重啟後將會失效;
    運行時修改global層級的變數:對修改之前建立的會話沒有影響,僅對修改後建立立的會話有效;
    運行時修改session層級的變數:僅對當前會話有效,且立即生效;
    如果想要使設定永久有效,需要設定設定檔。
    但是在不確定的情況下,不要隨便修改設定檔,否則將可能會出現無法預計的問題
    .
    .
    .
    MYSQL help參數:
    清除(\c)清除當前輸入語句。
    串連(\r)重新串連到伺服器。可選的參數是DB和主機。
    定界符(\d)SET語句定界符。
    用編輯器編輯(\e)編輯命令。
    (\g)向MySQL伺服器發送命令,垂直顯示結果。
    退出(\q)退出mysql。與退出相同。
    轉到(\g)發送命令到MySQL伺服器。
    列印(\p)列印當前命令。
    提示(\r)更改MySQL提示符。
    退出(\q)退出mysql。
    原始碼(.)執行SQL指令檔。將檔案名稱作為參數。
    狀態(S)從伺服器擷取狀態資訊。
    系統(!)執行系統外殼命令。
    使用(\u)使用另一個資料庫。將資料庫名稱作為參數。
    字元集(\c)切換到另一字元集。可能需要用多位元組字元集來處理BILCONG。
    警告(\w)在每個語句之後顯示警告。
    (\W)在每個語句之後不顯示警告。
    .
    .
    .
    .
    .
    MySQL的概念
    1)什麼是資料庫
    按照資料的關係,組織、管理、儲存的系統
    2)資料庫的分類
    關係型:Oracle 、 MySQL 、 SQL-server
    資料都是按照表狀結構儲存,二維關係,表與表之間可以建立聯絡,多表查詢,可以跨越版本、跨越不同軟體,將資料匯入匯出
    都是基於SQL(結構化查詢語句)
    非關係型:Redis memache mongodb
    NoSQL = not only SQL ,對關係型資料庫的一個補充,大大提高的查詢檢索效率,把所有資料都同意儲存,都有自己的,不存在資料的連結
    當前企業使用MySQL的版本分布:
    5.1 ----- 20%
    5.5 ----- 60%
    5.6或以上 ----- 20%
    Oracle 和 MySQL
    Oracle: 應用傳統行業(金融、證券、大學等),臃腫,閉源(收費)
    MySQL: 應用於互連網行業(BAT 58 jd等等),我們都是根據系統進行二次開發使用,開源的(RHEL6.x 預設5.1系統 -- RHEL7.x 預設mariadb5.5)
    2008年左右 MySQL被SUN公司收購,2012年SUN公司又被Oracle收購(JDK也是Oracle),MySQL很有可能閉源
    MySQL公司有開發一款和MySQL完全相同的資料庫MariaDB
    a)安裝方式:
    yum/rpm 安裝
    源碼安裝(cmake安裝) --- 營運,針對裝置少時
    二進位安裝 --- 開發,針對叢集架構較大時
    b)MySQL版本:
    商業版: 收取lisence費用 服務費用 -- 針對大公司
    社區版: 免費版,個人用、小公司
    四大發行版本:
    Alpha---預覽版(自我裝載版本),開發人員使用,完全不對外,測試大的bug
    Beta---測試版(公開測試版),加入很多新功能,邀請比較不錯的使用者嘗試使用---BAT公司使用
    RC----發行版本,可能會有小bug ,但是能滿足較大的需求
    GA----穩定發行版本(沒有任何的尾碼,就是這個版本)

資料庫總結:
create 建立
delete | drop刪除
grant 授權
revoke 刪除許可權
select 查詢
set 修改
show 顯示
rename 重新命名

MySQL 常用語句以及基礎知識

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.