標籤:password 設定檔 service 官方網站 server
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%‘;
Linux下MySQL基礎使用命令