引擎
MyISAM強調的是性能,比InnoDB快,但不提供事務支持,複雜的任務,關聯。支持表鎖。類似excel表格。安裝時默認模式。
InnoDB,支持外部鍵,可以執行大量的insert和update,像銀行系統
兩個引擎,類似apache兩個工作模式
Database庫>tables表>row行
MyISAM 類型的表強調的是性能,主要用於select(查詢)操作,執行速度比InnoDB類型的錶快,但不提供事務支持。支持表鎖
InnoDB類的表提供事務支持,適合複雜的邏輯關係,執行大量的insert和update。支持行鎖。
常用命令
show processlist;看有多少連接
mysql -e"show databases;"終端外執行mysql命令
create database juedu character set utf8;增加庫或charset=utf8
use jfedu;使用庫
show tables;預覽表
drop table class6;刪除表
delete from class6;清空表內容
delete from class6 where name=’yinxing’;刪除指定行
create table class6 (name char(10),age char(10),job char(10));創建表
其中char是必須設置的,設置成varchar
select * from class6 where name=’yinxing’;查表limit 5;只看5行
加and age=20;加and job=’IT’;
把*改成name,只查name那一列
select count(*) from class6;看錶一共幾行
describe(縮寫成desc) class6;看錶的結構
show create table class6; 看錶創建的語句,看引擎,看字符集
show engines;可以看到所有模式,看到MyISAM是默認default
show variables;顯示mysql參數
show variables like “%char%”; 看字符集,看一遍然後全改成utf8
vi /etc/my.conf
[client]字段里加入 default-character-set=utf8
[mysqld]字段里加入character-set-server=utf8
[mysql]字段里加入 default-character-set=utf8
然後重啓MySQL服務即可。
如何查看授權的所有用戶
>use mysql;
>select user,host from user;
>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
刪除用戶
mysql> use mysql;
mysql> delete from user where user='zabbix' and host='192.168.1.10';
逐個刪除
數據庫授權
grant all(SELECT,INSERT,UPDATE,DELETE普通數據用戶數據庫中所有表數據的權利 create,alter,drop數據庫開發人員MySQL 數據表結構權限,增刪改查,設置成select只有select權限,給開發看就只給select權限,多權限逗號隔開) on *.* to root@’192.168.245.128’ identified by “1”;
刷新權限mysql>flush privileges;
撤銷授權revoke all on *.* from dba@localhost;
忘記密碼
重新設置MySQL的root密碼的期間,MySQL數據庫完全出於沒有密碼保護的
狀態下,其他的用戶也可以任意地登錄和修改MySQL的信息。可以採用將MySQL對
外的端口封閉,並且停止Apache以及所有的用戶進程的方法實現服務器的準安全
狀態。最安全的狀態是到服務器的Console上面操作,並且拔掉網線
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
# /etc/init.d/mysqld restart
mysql> USE mysql;
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root';
mysql>flush privileges;
# vi /etc/my.cnf
刪掉剛加的那行,重啓