日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql 学习笔记2

發(fā)布時間:2023/12/18 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql 学习笔记2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

(1)MySQL查看表占用空間大小

//先進(jìn)去MySQL自帶管理庫:information_schema
//自己的數(shù)據(jù)庫:dbwww58com_kuchecarlib
//自己的表:t_carmodelparamvalue

mysql> use information_schema; Database changed mysql> select data_length,index_length from tables where table_schema='your_database' and table_name = 'your_table'; +-------------+--------------+ | data_length | index_length | +-------------+--------------+ | 166379520 | 235782144 | +-------------+--------------+ row in set (0.02 sec) mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB from tables where table_schema='your_database' and table_name = 'your_table'; +----------------+-----------------+ | data_length_MB | index_length_MB | +----------------+-----------------+ | 158.67MB | 224.86MB | +----------------+-----------------+ row in set (0.03 sec)

(2)慢查詢

1. 慢查詢有什么用?

它能記錄下所有執(zhí)行超過long_query_time時間的SQL語句, 幫你找到執(zhí)行慢的SQL, 方便我們對這些SQL進(jìn)行優(yōu)化.

2. 如何開啟慢查詢?

首先我們先查看MYSQL服務(wù)器的慢查詢狀態(tài)是否開啟.執(zhí)行如下命令:

show variables like '%quer%';

?

我們可以看到當(dāng)前l(fā)og_slow_queries狀態(tài)為OFF, 說明當(dāng)前并沒有開啟慢查詢.

開啟慢查詢非常簡單, 操作如下:

Linux下找到mysql的配置文件/etc/my.cnf, 在mysqld下方加入慢查詢的配置語句(注意:一定要在[mysqld]下的下方加入)

??

log-slow-queries = C:/Program Files/MySQL/MySQL Server 5.1/log/mysql-slow.log long_query_time = 3

log-slow-queries: 代表MYSQL慢查詢的日志存儲目錄, 此目錄文件一定要有寫權(quán)限;

Windows下需要寫絕對路徑my.ini,如:log-slow-queries="C:/Program Files/MySQL/MySQL Server 5.5/log/mysql-slow.log"

long_query_time: 最長執(zhí)行時間. (如圖, MSYQL將記錄下所有執(zhí)行時間超過2條的SQL語句, 此處為測試時間, 時間不應(yīng)太小最好在5-10秒之內(nèi), 當(dāng)然可以根據(jù)自己的標(biāo)準(zhǔn)而定);

配置好以后重新啟動一個MYSQL服務(wù)

(3)當(dāng)前時間添加分鐘

?select date_add(now(), interval 1 minute);

(4)復(fù)制表

-- 第一種 先創(chuàng)建表再拷貝數(shù)據(jù)
CREATE TABLE `id_interface_call_url_bak20180508` (
? `interface_id` bigint(30) NOT NULL AUTO_INCREMENT,
? `interface_call_url` varchar(200) DEFAULT NULL,
? `inner_interface_call` int(1) DEFAULT NULL COMMENT '是否接口內(nèi)部調(diào)用:0:否;1:是',
? `send_request_msg` varchar(500) DEFAULT NULL,
? `desc_call` varchar(50) DEFAULT NULL,
? PRIMARY KEY (`interface_id`)
) ENGINE=InnoDB AUTO_INCREMENT=300001 DEFAULT CHARSET=utf8;
INSERT INTO id_interface_call_url_bak20180508 SELECT * FROM id_interface_call_url;


-- 第二種直接從原來創(chuàng)建表,缺點是主鍵等信息丟失
CREATE TABLE id_interface_call_url_bak AS SELECT * FROM id_interface_call_url;


-- 第三種
CREATE? TABLE IF NOT EXISTS tb_base_like2 (LIKE id_user_info_level);
INSERT INTO tb_base_like2 SELECT * FROM id_user_info_level;

(5)安裝過程命令

mysqld –remove

mysqld --initialize-insecure

mysqld --install mysql

mysqld --console

?

mysqld --initialize-insecure

?

(6)事務(wù)

?

1、查看

?

SELECT @@tx_isolation

?

2、設(shè)置事務(wù)級別

set transaction isolation level? read uncommitted; 1)read uncommitted : 讀取尚未提交的數(shù)據(jù) :哪個問題都不能解決 2)read committed:讀取已經(jīng)提交的數(shù)據(jù) :可以解決臟讀 ---- oracle默認(rèn)的 3)repeatable read:重讀讀取:可以解決臟讀 和 不可重復(fù)讀 ---mysql默認(rèn)的 4)serializable:串行化:可以解決 臟讀 不可重復(fù)讀 和 虛讀---相當(dāng)于鎖表

?3、事務(wù)命令

start transaction;
commit;
rollback;

?4、創(chuàng)建用戶并創(chuàng)建數(shù)據(jù)庫及賦權(quán)

root登錄

select host,user from mysql.user;

create user test identified by '123@456'; grant all privileges on *.* to 'test'@'%'identified by '123@456' with grant option; flush privileges ;
參考:https://blog.csdn.net/xieyunc/article/details/80255742

?

轉(zhuǎn)載于:https://www.cnblogs.com/langdangyunliu/p/6120779.html

總結(jié)

以上是生活随笔為你收集整理的Mysql 学习笔记2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。