當前位置: 妍妍網 > 碼農

Mysql運維實用指令碼,掌握好你會快人一等的!

2024-07-08碼農

關註上方 浩道Linux ,回復 資料 ,即可獲取海量 L inux Python 網路通訊、網路安全 等學習資料!

前言

大家好,這裏是 浩道Linux ,主要給大家分享 L inux P ython 網路通訊、網路安全等 相關的IT知識平台。

今天浩道跟大家分享Mysql資料庫運維硬核幹貨,一序列實用運維指令碼給大家送上,記得收藏好,掌握好這些指令碼,你會快人一等的!

文章來源:https://cdn.modb.pro/db/217710

常用功能指令碼

1.匯出整個資料庫

mysqldump -u 使用者名稱 -p –default-character-set=latin1 資料庫名 > 匯出的檔名(資料庫預設編碼是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 

2.匯出一個表

mysqldump -u 使用者名稱 -p 資料庫名 表名> 匯出的檔名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql 

3.匯出一個資料庫結構

mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 沒有數據 –add-drop-table 在每個create語句之前增加一個droptable

4.匯入資料庫

A:常用source 命令 進入mysql資料庫控制台, 如mysql -u root -p mysql>use 資料庫 然後使用source命令,後面參數為指令碼檔(如這裏用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname < filename.sql C:使用mysql命令 mysql -u username -p -D dbname < filename.sql

啟動與結束

1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS界面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>

2、結束MySQL:quit或exit

庫操作

1、、建立資料庫

命令:create database <資料庫名>

例如:建立一個名為sqlroad的資料庫

mysql> create database sqlroad ;

2、顯示所有的資料庫

命令:show databases (註意:最後有個s)

mysql> show databases;

3、刪除資料庫

命令:drop database <資料庫名>

例如:刪除名為 sqlroad 的資料庫

mysql> drop database sqlroad ;

4、連線資料庫

命令:use <資料庫名>

例如:如果 sqlroad 資料庫存在,嘗試存取它:

mysql> use sqlroad ;

螢幕提示:Database changed

5、檢視當前使用的資料庫

mysql> select database();

6、當前資料庫包含的表資訊:

mysql> show tables; (註意:最後有個s)

表操作,操作之前應連線某個資料庫

1、建表

1 命令:create table <表名> ( <欄位名> <型別> [,..<欄位名n> <型別n>]);
2
3 mysql> create table My class(
4
5 > id int ( 4 ) not null primary key auto_increment,
6
7 > name char( 20 ) not null ,
8
9 > sex int ( 4 ) not null default ’′,
10
11 > degree double( 16 , 2 ));

2、獲取表結構

1 命令:desc 表名,或者show columns from 表名
2
3 mysql>DESCRIBE My class
4
5 mysql> desc My class ;
6
7 mysql> show columns from My class ;

3、刪除表

1 命令: drop table <表名>
2
3 例如:刪除表名為 My class 的表
4
5 mysql> drop table My class;

4、插入數據

1 命令: insert into <表名> [( <欄位名>[,..<欄位名n> ] )] values ( 值 ) [, ( 值n )]
2
3 例如,往表 My class 中插入二條記錄, 這二條記錄表示:編號為的名為 Tom 的成績為 .45 , 編號為 的名為 Joan 的成績為 .99 ,編號為 的名為 Wang 的成績為 .5 .
4
5 mysql > insert into My class values (1,’ Tom ’,96 .45 ),(2,’ Joan ’,82 .99 ), (2,’ Wang ’, 96 .59 );

5、查詢表中的數據

1 1 )、查詢所有行
2
3 命令: select <欄位,欄位,...> from < 表名 > where < 運算式 >
4
5 例如:檢視表 My class 中所有數據
6
7 mysql> select * from My class ;
8
9 2 )、查詢前幾行數據
10
11 例如:檢視表 My class 中前行數據
12
13 mysql> select * from My class order by id limit 0 , 2 ;
14
15 或者:
16
17 mysql> select * from My class limit 0 , 2 ;

6、刪除表中數據

1 命令: delete from 表名 where 運算式
2
3 例如:刪除表 My class中編號為 的記錄
4
5 mysql> delete from My class where id = 1 ;

7、修改表中數據:update 表名 set 欄位=新值,…where 條件

1 mysql> update My class set name=’Mary’ where id=1;

8、在表中增加欄位:

1 命令:alter table 表名 add 欄位 型別 其他;
2
3 例如:在表My class中添加了一個欄位passtest,型別為 int ( 4 ),預設值為
4
5 mysql> alter table My class add passtest int ( 4 ) default ’′
6

9、更改表名:

1 命令:rename table 原表名 to 新表名;
2
3 例如:在表 My class 名字更改為You class
4
5 mysql> rename table My class to You class;
6
7 更新欄位內容
8
9 update 表名 set 欄位名 = 新內容
10
11 update 表名 set 欄位名 = replace(欄位名,’舊內容’, 新內容’)
12
13 update article set content=concat(‘ ’,content);

欄位型別和資料庫操作

1.INT[(M)] 型:正常大小整數型別

2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點數位型別

3.DATE 日期型別:支持的範圍是-01-01到-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字串或數位把值賦給DATE列

4.CHAR(M) 型:定長字串型別,當儲存時,總是是用空格填滿右邊到指定的長度

5.BLOB TEXT型別,最大長度為(2^16-1)個字元。

6.VARCHAR型:變長字串型別

7.匯入資料庫表

1 建立 .sql
2
3 先產生一個庫如 auction .c :mysqlbin > mysqladmin -u root -p create auction ,會提示輸入密碼,然後成功建立。
4
5 匯入 auction .sql
6
7 c :mysqlbin > mysql -u root -p auction < auction .sql
8
9 透過以上操作,就可以建立了一個資料庫 auction 以及其中的一個表 auction

8.修改資料庫

1 在mysql的表中增加欄位:
2
3 alter table dbname add column userid int ( 11 ) not null primary key auto_increment;
4
5 這樣,就在表dbname中添加了一個欄位userid,型別為int(11)。

9.mysql資料庫的授權

1 mysql> grant select,insert,delete,create,drop
2
3 on *.* (或test.*/user.*/..)
4
5 to 使用者名稱@localhost
6
7 identified by ‘密碼’;
8
9 如:新建一個使用者帳號以便可以存取資料庫,需要進行如下操作:
10
11 mysql>
grant usage
12
13 ->
ON test .*
14
15 ->
TO testuser@localhost;
16
17 Query OK, 0 rows affected (0.15 sec)
18
19 此後就建立了一個新使用者叫:testuser,這個使用者只能從localhost連線到資料庫並可以連線到test 資料庫。下一步,我們必須指定testuser這個使用者可以執行哪些操作:
20
21 mysql>
GRANT select, insert, delete,update
22
23 ->
ON test .*
24
25 ->
TO testuser@localhost;
26
27 Query OK, 0 rows affected (0.00 sec)
28
29 此操作使testuser能夠在每一個test資料庫中的表執行SELECT,INSERT和DELETE以及UPDATE查詢操作。現在我們結束操作並結束MySQL客戶程式:
30
31 mysql>
exit

DDL操作

1:使用SHOW語句找出在伺服器上當前存在什麽資料庫:

mysql> SHOW DATABASES;

2、建立一個資料庫MYSQLDATA

mysql> Create DATABASE MYSQLDATA;

3:選擇你所建立的資料庫

mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)

4:檢視現在的資料庫中存在什麽表

mysql> SHOW TABLES;

5:建立一個資料庫表

mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:顯示表的結構:

mysql> DESCRIBE MYTABLE;

7:往表中加入記錄

mysql> insert into MYTABLE values (「hyq」,」M」);

8:用文本方式將數據裝入資料庫表中(例如D:/mysql.txt)

mysql> LOAD DATA LOCAL INFILE 「D:/mysql.txt」INTO TABLE MYTABLE;

9:匯入.sql檔命令(例如D:/mysql.sql)

mysql>use database;

mysql>source d:/mysql.sql;

10:刪除表

mysql>drop TABLE MYTABLE;

11:清空表

mysql>delete from MYTABLE;

12:更新表中數據

mysql>update MYTABLE set sex=」f」where name=’hyq’;

更多精彩

關註公眾號 浩道Linux

浩道Linux ,專註於 Linux系統 的相關知識、 網路通訊 網路安全 Python相關 知識以及涵蓋IT行業相關技能的學習, 理論與實戰結合,真正讓你在學習工作中真正去用到所學。同時也會分享一些面試經驗,助你找到高薪offer,讓我們一起去學習,一起去進步,一起去漲薪!期待您的加入~~~ 關註回復「資料」可 免費獲取學習資料 (含有電子書籍、視訊等)。

喜歡的話,記得 點「贊」 「在看」