Linux下MySQL基礎使用命令

www.mysql.com 官方網站


communlty server 社區版  免費的


顯示系統自帶的mysql包

yum list | grep mysql


安裝mysql:

yum install -y mysql-server mysql mysql-devel


看按的版本:

rpm -qi mysql-server


初始化:

service mysqld start    /restart


設置密碼:

mysqladmin -u root password '密碼'


開機啓動:

chkconfig mysqld on


配置文件:/etc/my.cnf 

數據文件:/var/lib/mysql/

日誌文件:/var/log/

mysald.log 日誌

遠程連接端口:tcp 3306


登陸MySQL        mysql (-h 192.168.0.1) -u root -p


查看MySQL版本    SELECT VERSION();


查看系統日期     SELECT CURRENT_DATE;


同時查看系統版本和系統日期

                 SELECT VERSION(),CURRENT_DATE;


簡單計算         SELECT 4*4;

                 SELECT 4+4;


查看已有數據庫   SHOW DATABASES;


創建數據庫       CREARE DATABASES 數據庫名;


刪除數據庫       DROP DATABASES 數據庫名;


使用數據庫       USE 數據庫名;


SQL語言基礎


SELECT  UPDATE DELETE INSERT WHERE


顯示錶格里的所有數據        SELECT *FROM 表名;


創建數據庫         CREARE DATABASE 數據庫名;


刪除數據庫         DROP DATABASE 數據庫名;


每一列是一個屬性;    

每一行是一條記錄;


數據類型

integer(size),int(size),smallint(size),tinyint(size)                  存儲整數數據


decima(size,d),numeric(size,d)  存儲浮點數數據


char(sie)           存儲固定長度字符串


varchar(size)       存儲可變長度字符串


date (yyyymmdd)     存儲日期


創建表格

CREARE TABLE 表名稱(列名稱1 數據類型,

                     列名稱2 數據類型,

                     列名稱3 數據類型

                     );


顯示所有表格   SHOW TABLES;


顯示錶的結構    DESCRIBE 表名;


刪除一個表格    DROP TABLE 表名;


重命名錶名

ALTER TABSE 表名 RENAME 新表名;


向表中添加一列

ALTER TABLE 表名 ADD 列名稱 列數據類型;


刪除表中一列

ALTER TABLE 表名 DROP COLUMN 列名;


修改一個列的數據類型

ALTER TABLE 表名 MODIFY 列名 列數據類型;


重命名一個列

ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 新列數據類型;


向表格中插入一條記錄

INSERT INTO 表名 VALUES (值1,值2,....);

INSERT INTO 表名(列1,列2) VALUES (值1,值2);


從表格中查詢記錄

SELECT 列名稱1,列明稱2... FROM 表明稱; 

SELECT * FROM 表明稱;


從表格中按條件查詢一條記錄

SELECT 列名稱 FROM 表名 WHERE 列 運算符 值;


從表格中刪除一條記錄

DELETE FROM 表名稱 WHERE 列 運算符 值;

DELERE * FROM 表名稱;


更新一條記錄

UPDATE 表名稱 SET 列名稱=新值 WHERE 列=值;


刪除返回結果重複項

SELECT DISTINCT 列名稱 FROM 表名稱;


where條件中使用邏輯組合

SELECT *FROM 表名稱 WHERE 條件1 AND 條件2;

SELECT *FROM 表名稱 WHERE 條件1 OR 條件2;


對查詢結果按指定列進行排序

SELECT * FROM 表名稱 ORDER BY 列名稱;

SELECT * FROM 表名稱 ORDER BY 列名稱 DESC;




MYSQL用戶管理

默認只有一個root用戶

默認保存在user表中


創建新用戶:

CREATE USER 用戶名 IDENTIFIED BY '密碼';

直接創建後不能直接登陸,因爲沒有設置權限。


刪除用戶: 

DROP USER 用戶名;


重命名用戶名:

RENAME USER 原用戶名 TO 新用戶名;


修改當前用戶密碼:

SET PASSWORD=PASSWORD('新密碼');


修改指定用戶密碼:

SET PASSWORD FOR 用戶名=PASSWORD('新密碼');





mysql 權限系統


權限控制兩個階段

1 檢查用戶是否能夠鏈接;

2 檢查用戶是否具有所有執行動作的權限;


授予一個用戶權限:

GRANT ALL PRIVILEGES ON 層級to 用戶名@主機 IDENTIFIED BY 密碼;


eg:

授予nash_su用戶全局級全部權限

GRANT ALL PRIVILEGES ON *.* to 'nash_su'@'%'IDENTIFIED BY 'linuxcase';

 

授予nash_su用戶針對linuxcast數據庫全部權限。

GRANT ALL PRIVILEGES ON linuxcase.* to 'nash_su'@'%'IDENTIFIED BY 'linuxcase';


撤銷一個用戶權限:

REVOKE ALL PRIVILEGES FROM 用戶名;


%主機   %是不限制是哪個主機的訪問;

可以使ip地址或者主機名;

使用“*”通配符  

可以指定網段;

可以設lockhost;本地連接;


root遠程登陸也需要上邊的提權;不建議打開;




MYSQL簡單的備份和恢復


最爲廣泛的備份恢復工具mysqldump


備份一個指定數據庫:

mysqldump -u root -p 數據庫名稱 > 備份文件.sql


備份出來的是純文本的sql文件,可以修改後作爲其他數據庫數據使用。


從備份的SQL文件恢復一個指定數據庫:

mysqldump -u root -p 數據庫名稱 < 備份文件.sql



數據庫編碼設置


編碼主要影響以下兩個方面:

1、數據庫保存相同內容所佔用的空間大小;

2、數據庫與客戶端通信;


顯示系統的編碼設置:

SHOW CHARACTER SET;


SHOW VARIABLES LIKE 'character_set%';

SHOW VARIABLES LIKE 'collation%';


創建數據庫的時候可以使用命令指定編碼:

CREATE DATABASEA linuxcase

    DEFAULT CHARACTER SET utf8

DEFAULT COLLATE utf8_general_cl;


也可以修改一個數據庫的編碼:

ALTER DATABASE linuxcase CHARACTER SET utf8 COLLATEU utf8_general_cl;


設置默認編碼

/etc/my.cnf文件

{client}

default-character-set=utf8

{mysql}

default-character-set=utf8

{mysqld}

default-character-set=utf8

collation-server=utf8_unicode_ci

init-connect='SET NAMES utf8'

character-set-server=utf8


修改之後重啓MySQL服務,通過下邊的命令查看默認編碼:

SHOW VARIABLES LIKE 'character_set%';


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章