程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Mysql 學習初步

Mysql 學習初步

編輯:關於MYSQL數據庫

根據經驗,學習一門DB,要分以下進行掌握,總結如下,供參考:

學習一門DB:

用途,安裝,啟動與關閉,日志,用戶與權限(安全),字符集,備份與恢復,事務控制,常用工具,schema(sql,表,視圖,索引,存儲過程與觸發器等),內部結構分析(鎖等),優化(負載均衡),多節點集群,數據庫復制。

MySQL 本人學習了一個初步,記錄如下:

  • 基本信息查看
  • 登錄: MySQL -uroot -pxxx  -h192.168.0.1
  • 語法幫助:> help show variables;
  • 查數據庫:show databases;
  • 查告警:show warnings;
  • 查看數據庫及表,行數:mysqlshow -uroot --count;  MySQLshow --count
  • 切換數據庫:use  xxx;  
  • 查數據庫中的表:show tables;
  • 查看數據庫中的參數:show variables ; show variables like '%lo%';
  • 查看數據庫中權限的方法:user--db--tables_priv--columns_priv (user,db,host)
  • 創建用戶方法:授權給一個新用戶就創建了此用戶:grant select on ssl1.* to ssl2@localhost;
  • 修改用戶權限:grant update,insert,delete on ssl1.* to ssl2@localhost; 通過增加或減少完成。
  • 回收用戶權限:revoke delete on ssl1.*  from ssl2@localhost;
  • 查看用戶權限:show grants for ssl2@localhost;
  • 創建用戶及授權、修改權限,回收權限也可以通過直接操作user,db,tables_priv,column_priv 來完成。
  • 權限中super,process,file一定不要授給普通用戶。
  • 備份及恢復的方法:
  • 邏輯備份與恢復:mysqldump --help; MySQL -uroot -pxxx <backup.txt ; 也可以基於時間點和位置。
  • 導出數據庫中的表結構,不包括數據:MySQLdump -d -uroot -pxx -hxxx -p3306 db_name >db_name_ddl.txt
  • 導出數據庫中的表數據,不包括結構:MySQLdump -t -n -uroot -pxx -hxxx -p3306 db_name>db_name_data.txt
  • 導出表結構及數據:MySQLdump -uroot -pxxx  -hxxx -p3306 db_name>db_name_all.txt
  • 導出一個表分兩個文件完成:MySQLdump -uroot -p db_name T1 -T ./bak
  • 物理備份與恢復:冷備份和熱備份
  • 冷備份:停止數據庫進行備份;直接copy過來數據文件及日志就可以進行啟動。
  • 熱備份:對於不同存儲引擎不同(MyISAM,InnoDB)
  • MyISAM: MySQLhotcopy db_name [path] 也可以手工鎖表copy( flush tables for read);
  • InnoDB:  ibbackup工具。
  • 表的導出與導入:
  • 導出的方法第一種: select …into outfile ….; select * from students into outfile './emp2.txt' fIElds terminated by "," enclosed by '"';
  • 導出的方法第二種:MySQLdump
  • 導入的方法第一種:load data infile;  load data infile './emp2.txt' into table test.tt  fIElds terminated by "," enclosed by '"';
  • 導入的方法第二種:MySQLimport .
  • MySQL 日志管理
  • MySQL 日志分為四類:錯誤日志,二進制日志,查詢日志,慢查詢日志。
  • 錯誤日志:MySQLd --log-error[=file_name].  hostname.err  用more 可以查看。
  • 二進制日志:是DDL,DML(除了select)的所有操作,以事件形式保存。>MySQLbinlog log-file;
  • 查詢日志:記錄了客戶端的所有語句。用more 可以查看。
  • 慢查詢日志:hostname-slow.log  可以用more 查看。  MySQLdumpslow 工具可以查看慢日志。
  • 日志的刪除管理:
  • 方法一:reset master; 以前的日志全部刪除,重新編號開始。
  • 方法二:purge master logs to 'localhost-bin.000006';  則000006以前的刪除全部刪除;
  • 方法三:purge master logs before 'yyyy-mm-dd hh24:mi:ss'  ,則此時間點以前的日志全部刪除。
  • 方法四:配置參數:--expire_logs_days=xx;   以天為單位自動刪除。
  • SQL介紹:
  • DDL:  create,drop,alter
  • DML: insert,update,delete ,select
  • DCL: grant,revoke
  • 幫助系統
  • MySQL>? contents
  • 數據類型:?data types 主要包括:數值型,字符串型,日期和時間類型。
  • 數據操作:? Functions
  • MySQL 圖形化工具:
  • Mysql Administrator ;MySQL Query Brower;  PHPMyAdmin

        MySQL 是未來一個不錯的趨勢,會有好的發展,建議想在互聯網上作技術生計的人學習。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved