字段長度固定,或者長度近似的業務場景,適合使用char,能夠減少碎片,查詢效能高。
字段長度相差較大,或者更新較少的業務場景,適合使用varchar,能夠減少空間 。
使用varchar(20)儲存手機號,不要使用整數
`user_id` int(11) not null auto_increment primary key comment '使用者id主鍵',
`username` varchar(20) not null comment '使用者名稱',
`mobile` varchar(20) not null comment '手機號碼',
`realname` varchar(50) default null comment '使用者姓名',
`idcardno` varchar(18) not null comment '身份證',
`email` varchar(50) default null comment '郵箱',
`add_time` datetime not null comment '新增時間'
) engine=innodb default charset=utf8 comment='使用者表';
create unique index uni_idcardno on base_users(idcardno);
create index idx_username_mobile on base_users(username,mobile);
1.4.1 建索引規則
//唯一索引
create unique index uni_idcardno on base_users(idcardno);
//普通索引
create index idx_username_mobile on base_users(username,mobile);
1.4.2 最佳索引規則
備份工具:
mysqldump/mydump/xtrabackup,根據實際環境和需求來選擇備份方式,判斷依據:資料庫大小,備份方式。
2.1.1 備份資料庫
mysqldump -uroot -pmysql \
--set-gtid-purged=on \
--single-transaction \
--triggers --routines --events \
--databases sys > db_name.sql
2.1.2 表備份
mysqldump -uroot -pmysql \
--single-transaction \
--set-gtid-purged=on --triggers --routines --events \
--tables zabbix usrgrp > usrgrp.sql
2.1.3 備份表結構
-d, --no-data no row information.
2.1.4 mydumper還原
mydumper -u root -p mysql -h 192.168.50.x \
--port 3306 \
--triggers --events --routines \
--daemon \
--database zabbix -o ./data/
mysql -uroot -pmysql --database dbname < x.sql
yum install –y tcpdump percona-toolkit
pt-query-digest/mysqldumpslow
//用tcpdump抓包工具
tcpdump -s 65535 -x -nn -q -i any -c 1000 port 3306 > mysql.tcp.txt
pt-query-digest --type tcpdump mysql.tcp.txt
\192.168.50.89\soft
使用者名稱/密碼: test/test
sqlyog
zabbix/cacti
cetus
proxysql
//檢視連線
show processlist;
//資料庫狀態
status
//檢視innodb狀態
show engine innodb status\g;
//檢視日誌
show binary logs;
//kill查詢
kill id_number;
//檢視資料庫
show databases;
//檢視表
use db_name;show tables;
//檢視表結構
show create table tbl_name\g;
//檢視資料庫
select database();
//檢視當前使用者
select user();
關於命名規範
一 常用命令命名方法 小駝峰法標識。駝峰法的意思是 除第乙個單詞之外,其他單詞首字母大寫。譬如 int mystudentcount 變數mystudentcount第乙個單詞是全部小寫,後面的單詞首字母大寫。pascal法 大駝峰法 相比小駝峰法,大駝峰法把第乙個單詞的首字母也大寫了。常用於類名,...
mysql的庫命名規範 資料庫命名規範(命名規則)
資料庫命名規範 引言 資料庫設計過程中庫 表 欄位等的命名規範也算是設計規範的一部分,不過設計規範更多的是為了確保資料庫設計的合理性 為了專案最終的協調穩定性,而命名規範更多的是為了確保設計的正式和統一。資料庫中欄位等等以什麼樣的命名方式,並不會直接影響到專案的穩定性。制定規範的直接目的是約束行為,...
關於redis key命名規範的設計
關於redis key命名規範的設計 一 實現目標 簡潔,高效,可維護 二 鍵值設計規約 1 redis key命名風格 推薦 redis key命名需具有可讀性以及可管理性,不該使用含義不清的key以及特別長的key名 強制 以英文本母開頭,命名中只能出現小寫字母 數字 英文點號 和英文半形冒號 ...