linuxmysql刪除表的簡單介紹

本文目錄一覽:

怎麼刪除linux中mysql資料庫

卸載mysql1、查找以前是否裝有mysql

命令:rpm

-qa|grep

-i

mysql

可以看到mysql的兩個包:

mysql-*..*.RHEL**

mysqlclient*.RHEL**

2、刪除mysql

刪除命令:rpm

-e

–nodeps

包名

(

rpm

-ev

mysql-*.RHEL*

)

3、刪除老版本mysql的開發頭文件和庫

命令:rm

-fr

/usr/lib/mysql

rm

-fr

/usr/include/mysql

注意:卸載後/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用後就手工刪除

rm

-f

/etc/my.cnf

rm

-fr

/var/lib/mysql

linux下mysql的drop table命令不能把表和相關存儲信息都刪除乾淨,怎麼弄

使用OPTIMIZE TABLE語句可以。

OPTIMIZE TABLE語法

OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] …

如果您已經刪除了表的一大部分,或者如果您已經對含有可變長度行的表(含有VARCHAR, BLOB或TEXT列的表)進行了很多更改,則應使用OPTIMIZE TABLE。被刪除的記錄被保持在鏈接清單中,後續的INSERT操作會重新使用舊的記錄位置。您可以使用OPTIMIZE TABLE來重新利用未使用的空間,並整理數據文件的碎片。

在多數的設置中,您根本不需要運行OPTIMIZE TABLE。即使您對可變長度的行進行了大量的更新,您也不需要經常運行,每周一次或每月一次即可,只對特定的表運行。

OPTIMIZE TABLE只對MyISAM, BDB和InnoDB表起作用。

對於MyISAM表,OPTIMIZE TABLE按如下方式操作:

1. 如果表已經刪除或分解了行,則修復表。

2. 如果未對索引頁進行分類,則進行分類。

3. 如果表的統計數據沒有更新(並且通過對索引進行分類不能實現修復),則進行更新。

對於BDB表,OPTIMIZE TABLE目前被映射到ANALYZE TABLE上。對於InnoDB表,OPTIMIZE TABLE被映射到ALTER TABLE上,這會重建表。重建操作能更新索引統計數據並釋放成簇索引中的未使用的空間。

要重新使用未使用的空間並減小文件的尺寸,則使用OPTIMIZE TABLE語句或myisamchk應用程序重新編排表。OPTIMIZE TABLE更簡便,但是myisamchk速度更快。

linux系統怎麼刪除mysql資料庫數據

Mysql操作

創建資料庫

新建資料庫命令:Create database 資料庫

查看所有資料庫

命令:Show databases

打開資料庫

命令:use 資料庫名

刪除資料庫

命令:drop database 資料庫名

創建表

命令:create table 表名(列名 數據類型,列名 數據類型,。。。。。。。)

查看當前資料庫下所有表

命令:show tables

查看當前表結構

命令:desc 表名

刪除表

命令:drop table 表名

插入數據insert

命令:Insert into 表名(欄位1,欄位2,欄位3……)values(值1,值2,值3……)

查看數據select

命令:Select 欄位1,欄位2,……from 表名。欄位之間用「,」隔開,如果查詢所有的欄位用「*」來代替。

修改數據update

命令:update 表名 set 欄位名1=『新值1』,欄位名2=『新值2』 where=’條件’ 如果不加where條件那麼將會把所有的記錄的值都修改掉。

刪除數據delete

命令:delete from 表名 where 條件。如果不加where條件那麼將會把所有的記錄都刪除掉。

####

先use 資料庫名

再 delete 表名 where 條件

就可以了

linux下mysql自動備份資料庫與自動刪除臨時文件

一、每日23:00自動刪除臨時文件

首先查看一下crontab的任務列表:

crontab

-l

然後新建:

crontab

-e

添加一行:

00

03

*

*

*

rm

-rf

/www/cmstest/my120/public/scripts/jpgraph/*

保存退出。

重啟服務:

/etc/rc.d/init.d/crond

restart

二、每日24:00自動備份資料庫

利用系統crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。

1、創建保存備份文件的路徑/mysqldata

#mkdir

/mysqldata

2、創建/usr/sbin/bakmysql文件

查找資料庫庫文件的路徑:

一般都是:/var/lib/mysql,或者,/usr/local/mysql/var

查找方法:

1、/usr/local/mysql/bin/mysql

-u

root

-p

進入資料庫

2、輸入:show

databases;

3、這是可以查看到所有的資料庫,然後

4、find

/

-name

db(你想查找的資料庫名)

之後:#vi

/usr/sbin/bakmysql

輸入

複製代碼

代碼如下:

rq=`

date

+%Y%m%d

`

tar

zcvf

/mysqldata/mysql$rq.tar.gz

/var/lib/mysql

3、修改文件屬性,使其可執行

#

chmod

+x

/usr/sbin/bakmysql

新建任務:

首先查看一下crontab的任務列表:

crontab

-l

然後新建:

crontab

-e

添加一行

00

04

*

*

*

/usr/sbin/bakmysql

表示每天24點鐘執行備份

4、重新啟動crond

#

/etc/rc.d/init.d/crond

restart

此後每天就可以在/mysqldata中看到類似下的文件了:mysql20040619.tar.gz。

linux mysql 怎麼用

啟動:net start mySql;

進入:mysql -u root -p/mysql -h localhost -u root -p databaseName;

列出資料庫:show databases;

選擇資料庫:use databaseName;

列出表格:show tables;

顯示錶格列的屬性:show columns from tableName;

建立資料庫:source fileName.txt;

匹配字元:可以用通配符_代表任何一個字元,%代表任何字元串;

增加一個欄位:alter table tabelName add column fieldName dateType;

增加多個欄位:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType;

多行命令輸入:注意不能將單詞斷開;當插入或更改數據時,不能將欄位的字元串展開到多行里,否則硬回車將被儲存到數據中;

增加一個管理員帳戶:grant all on *.* to user@localhost identified by “password”;

每條語句輸入完畢後要在末尾填加分號’;’,或者填加’\g’也可以;

查詢時間:select now();

查詢當前用戶:select user();

查詢資料庫版本:select version();

查詢當前使用的資料庫:select database();

1、刪除student_course資料庫中的students數據表:

rm -f student_course/students.*

2、備份資料庫:(將資料庫test備份)

mysqldump -u root -p testc:\test.txt

備份表格:(備份test資料庫下的mytable表格)

mysqldump -u root -p test mytablec:\test.txt

將備份數據導入到資料庫:(導回test資料庫)

mysql -u root -p test

3、創建臨時表:(建立臨時表zengchao)

create temporary table zengchao(name varchar(10));

4、創建表是先判斷表是否存在

create table if not exists students(……);

5、從已經有的表中複製表的結構

create table table2 select * from table1 where 11;

6、複製表

create table table2 select * from table1;

7、對錶重新命名

alter table table1 rename as table2;

8、修改列的類型

alter table table1 modify id int unsigned;//修改列id的類型為int unsigned

alter table table1 change id sid int unsigned;//修改列id的名字為sid,而且把屬性修改為int unsigned

9、創建索引

alter table table1 add index ind_id (id);

create index ind_id on table1 (id);

create unique index ind_id on table1 (id);//建立唯一性索引

10、刪除索引

drop index idx_id on table1;

alter table table1 drop index ind_id;

11、聯合字元或者多個列(將列id與”:”和列name和”=”連接)

select concat(id,’:’,name,’=’) from students;

12、limit(選出10到20條)第一個記錄集的編號是0

select * from students order by id limit 9,10;

13、MySQL不支持的功能

事務,視圖,外鍵和引用完整性,存儲過程和觸發器

14、MySQL會使用索引的操作符號

,=,=,,=,between,in,不帶%或者_開頭的like

15、使用索引的缺點

1)減慢增刪改數據的速度;

2)佔用磁碟空間;

3)增加查詢優化器的負擔;

當查詢優化器生成執行計劃時,會考慮索引,太多的索引會給查詢優化器增加工作量,導致無法選擇最優的查詢方案;

16、分析索引效率

方法:在一般的SQL語句前加上explain;

分析結果的含義:

1)table:表名;

2)type:連接的類型,(ALL/Range/Ref)。其中ref是最理想的;

3)possible_keys:查詢可以利用的索引名;

4)key:實際使用的索引;

5)key_len:索引中被使用部分的長度(位元組);

6)ref:顯示列名字或者”const”(不明白什麼意思);

7)rows:顯示MySQL認為在找到正確結果之前必須掃描的行數;

8)extra:MySQL的建議;

17、使用較短的定長列

1)儘可能使用較短的數據類型;

2)儘可能使用定長數據類型;

a)用char代替varchar,固定長度的數據處理比變長的快些;

b)對於頻繁修改的表,磁碟容易形成碎片,從而影響資料庫的整體性能;

c)萬一出現數據表崩潰,使用固定長度數據行的表更容易重新構造。使用固定長度的數據行,每個記錄的開始位置都是固定記錄長度的倍數,可以很容易被檢測到,但是使用可變長度的數據行就不一定了;

d)對於MyISAM類型的數據表,雖然轉換成固定長度的數據列可以提高性能,但是佔據的空間也大;

18、使用not null和enum

盡量將列定義為not null,這樣可使數據的出來更快,所需的空間更少,而且在查詢時,MySQL不需要檢查是否存在特例,即null值,從而優化查詢;

如果一列只含有有限數目的特定值,如性別,是否有效或者入學年份等,在這種情況下應該考慮將其轉換為enum列的值,MySQL處理的更快,因為所有的enum值在系統內都是以標識數值來表示的;

19、使用optimize table

對於經常修改的表,容易產生碎片,使在查詢資料庫時必須讀取更多的磁碟塊,降低查詢性能。具有可變長的表都存在磁碟碎片問題,這個問題對blob數據類型更為突出,因為其尺寸變化非常大。可以通過使用optimize table來整理碎片,保證資料庫性能不下降,優化那些受碎片影響的數據表。 optimize table可以用於MyISAM和BDB類型的數據表。實際上任何碎片整理方法都是用mysqldump來轉存數據表,然後使用轉存後的文件並重新建數據表;

20、使用procedure analyse()

可以使用procedure analyse()顯示最佳類型的建議,使用很簡單,在select語句後面加上procedure analyse()就可以了;例如:

select * from students procedure analyse();

select * from students procedure analyse(16,256);

第二條語句要求procedure analyse()不要建議含有多於16個值,或者含有多於256位元組的enum類型,如果沒有限制,輸出可能會很長;

21、使用查詢緩存

1)查詢緩存的工作方式:

第一次執行某條select語句時,伺服器記住該查詢的文本內容和查詢結果,存儲在緩存中,下次碰到這個語句時,直接從緩存中返回結果;當更新數據表後,該數據表的任何緩存查詢都變成無效的,並且會被丟棄。

2)配置緩存參數:

變數:query_cache _type,查詢緩存的操作模式。有3中模式,0:不緩存;1:緩存查詢,除非與 select sql_no_cache開頭;2:根據需要只緩存那些以select sql_cache開頭的查詢; query_cache_size:設置查詢緩存的最大結果集的大小,比這個值大的不會被緩存。

22、調整硬體

1)在機器上裝更多的內存;

2)增加更快的硬碟以減少I/O等待時間;

尋道時間是決定性能的主要因素,逐字地移動磁頭是最慢的,一旦磁頭定位,從磁軌讀則很快;

3)在不同的物理硬碟設備上重新分配磁碟活動;

如果可能,應將最繁忙的資料庫存放在不同的物理設備上,這跟使用同一物理設備的不同分區是不同的,因為它們將爭用相同的物理資源(磁頭)。

Linux下如何徹底刪除MySQL

1、查找以前是否裝有mysql

命令:rpm -qa|grep -i mysql

可以看到如下圖的所示:

說明之前安裝了:

MySQL-client-5.5.25a-1.rhel5

MySQL-server-5.5.25a-1.rhel5

2、停止mysql服務、刪除之前安裝的mysql

刪除命令:rpm -e –nodeps 包名

# rpm -ev MySQL-client-5.5.25a-1.rhel5

# rpm -ev MySQL-server-5.5.25a-1.rhel5

3、查找之前老版本mysql的目錄、並且刪除老版本mysql的文件和庫

find / -name mysql

查找結果如下:

[root@localhost ~]# find / -name mysql

/var/lib/mysql

/var/lib/mysql/mysql

/usr/lib64/mysql

刪除對應的mysql目錄

rm -rf /var/lib/mysql

rm -rf /var/lib/mysql

rm -rf /usr/lib64/mysql

具體的步驟如圖:查找目錄並刪除

注意:卸載後/etc/my.cnf不會刪除,需要進行手工刪除

 rm -rf /etc/my.cnf

4、再次查找機器是否安裝mysql

rpm -qa|grep -i mysql

無結果,說明已經卸載徹底、接下來直接安裝mysql即可

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249674.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 17:13
下一篇 2024-12-12 17:14

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進位下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27

發表回復

登錄後才能評論