溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL基礎(chǔ)操作命令

發(fā)布時間:2020-06-13 19:48:30 來源:網(wǎng)絡(luò) 閱讀:1285 作者:運維小當(dāng)家 欄目:數(shù)據(jù)庫

MySQL基礎(chǔ)操作命令

1、 查看MySQL進(jìn)程

ps -ef|grep mysql |grep -v grep

2、 查看MySQL端口

ss -lnt | grep 3306

3、 MySQL的啟動

mysql -uroot -p

/etc/init.d/mysql

初始化時MySQL的啟動方法

mysqld_safe -user=mysql &

4、 關(guān)閉數(shù)據(jù)庫

1)平滑關(guān)閉數(shù)據(jù)庫

mysqladmin -uroot -pcentos shutdown

/etc/init.d/mysqld stop

kill -USR2 cat path/pid

2)強(qiáng)制關(guān)閉數(shù)據(jù)庫

killall mysqld

pkill mysqld

killall -9 mysqld

注意:盡量不要野蠻的殺死數(shù)據(jù)庫,生產(chǎn)高并發(fā)環(huán)境可能會引起數(shù)據(jù)丟失。

5、 多實例啟動與關(guān)閉

多實例的啟動就是我們寫腳本,啟動時用mysqld_safe指定配置文件啟動,關(guān)閉時用mysqadmin

(1)/data/3306/mysql start

(2)/data/3307/mysql stop

6、 登陸mysql方法

(1)單實例登陸

mysq                        #數(shù)據(jù)庫沒有配置秘密的登陸方式

mysql -uroot                #數(shù)據(jù)庫沒有配置秘密的登陸方式

mysql -uroot -p             #標(biāo)準(zhǔn)的dba命令登陸命令

mysql -uroot -pcentos       #非腳本一般不這樣用,密碼明文會泄露密碼,可以掩飾history功能解決

強(qiáng)制linux不記錄敏感歷史命令

      #HISTCONTROL=ignorespace

2)多實例登陸

mysql -uroot -p -S /data/3306/mysql.sock

多實例通過mysql -S命令制定不同的sock文件登陸不同的服務(wù)中

3)遠(yuǎn)程連接無需制定sock路徑

mysql -uroot -p 127.0.0.1 -P3307

7、 更改MySQL數(shù)據(jù)庫登陸提示符

1)命令行修改登陸提示符,臨時生效(進(jìn)入數(shù)據(jù)庫中)

mysql> prompt \u@solindb \r:\m:\s->

(2)配置文件修改登陸提示符

在my.cnf配置文件中[mysql]模板下添加如下內(nèi)容

[mysql]

prompt=\\u@solindb \\r:\\m:\\s->

8、 MySQL的幫助命令help

MySQL中的help和linux的man相似

mysql> help history

mysql> help grant

mysql> help show grants

9、 為管理員root用戶設(shè)置密碼方法

mysqladmin -u root password ‘centos123’ #沒有密碼的用戶設(shè)置密碼

mysqladmin -u root -p ‘centos123’ password ‘centos456’ -S /data/3306/mysql.sock #適合多實例方式

注:以上為linux命令行

10、修改管理員root密碼

    方式一:命令行修改

      mysqladmin -u root -p ‘centos123’ password ‘centos456’

mysqladmin -u root -p ‘centos123’ password ‘centos456’ -S /data/3306/mysql.sock

方式二:SQL語句修改

mysq>UPDATE mysql.user SET password=PASSWORD(“centos123”) WHERE user=’root’;

mysql>flush privileges;

方式三:root密碼為空,修改root口令

mysql> set passwprd=passwpef(‘centos123’);

mysql> flush privileges;

注:此法不適合--skip--grant--tables方式修改密碼

10、找回丟失的mysql用戶密碼

(1)   首先停止mysql

/etc/init.d/mysqld stop

(2)   使用 --skip-grant-tables  啟動mysql,忽略授權(quán)登陸

mysqld_safe --skip-grant-tables --user=mysql &

mysql –uroot –p或mysql #登陸時空密碼

注:在啟動時加--user=mysql參數(shù),表示忽略授權(quán)驗證

(3)   修改root密碼為新密碼

mysql> update mysql.user set password=PASSWORD(“cebtos123”) where user=”root” and host=”locahost”;

mysql> flush privileges;

(4)   重啟服務(wù)再登陸

mysqladmin -uroot -pcentoos123 shtudown

/tec/init.d/mysqld start

mysql -uroot -p”centos123”

11、多實例MySQL啟動修改丟失root密碼

    (1)關(guān)閉mysql

          killall mysqld

(2)啟動時加--skip-grant-table參數(shù)

      mysqld_safe --defaults-file=/data/3306/my.cof --skip-grant-table &

      mysql -u root -p -S /data/3306/mysql.sock #登陸時空密碼

(3)修改密碼的方法

      mysql> UPDATE msql.user SET password=PASSWORD(“centos123”) WHERE user=’root’;

      FLUSH PRIVILEGES;

 

 

12、SQL結(jié)構(gòu)化查詢語言

SQL結(jié)構(gòu)化查詢語言包括6個部分

(1)數(shù)據(jù)查詢語言(DQL)

DQL全稱Data Query Language,其語句,也稱為“數(shù)據(jù)檢索語句”,用以從表中獲得數(shù)據(jù),確定數(shù)據(jù)怎樣在應(yīng)用程序給出,保留字SELECT是DQL用得最多的動詞,其他DQL常用的保留字有WHERE,ORDAER BY,GROUP BY 和 HAVING

mysql> select user,host from mysql.user order by user asc; #查詢mysql.user的user,host,并升序排列

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

| root | ::1       |

+------+-----------+

3 rows in set (0.00 sec)

 

mysql> select user,host from mysql.user order by user desc; #查詢mysql.user的user,host,并倒序排列

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

| root | ::1       |

+------+-----------+

3 rows in set (0.00 sec)

(2)數(shù)據(jù)操作語言(DML)

DML全稱Data Manipulation Language,其語句包括INSERT,UPDATE和DELETE。他們分別用于添加,修改和刪除表中的行(數(shù)據(jù))也稱作動作查詢語句

mysql> select user,host from mysql.user order by user desc;

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

| root | ::1       |

+------+-----------+

3 rows in set (0.00 sec)

 

mysql> delete from mysql.user where host='::1';   #刪除表中host=;;1的(行)數(shù)據(jù)

Query OK, 1 row affected (0.00 sec)

 

mysql> select user,host from mysql.user order by user desc;

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

+------+-----------+

2 rows in set (0.00 sec)

(3)事物處理語言(TPL)

它的語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括BEGIN

TRANSACTION,COMMIT和ROLLBACK

(4)數(shù)據(jù)控制語言(DCL)

DCL全稱(Date Control Language),它的語句通過GRANT或REVOKE獲得許可,確定單用戶和用戶組多數(shù)據(jù)對象的訪問。某些RDBMS可用GRANT或REVOKE控制對表單個列的訪問。

(5)數(shù)據(jù)定義語言(DDL)

    DDL全稱(Date Definition Language),其語句包括動詞CREATE和DROP,在數(shù)據(jù)庫中創(chuàng)建新表或刪除表(CREAT TABLE或DROP TABLE);為表加入索引等。DDL包括許多與人數(shù)據(jù)庫目錄中獲得有關(guān)的保留字。字也是動作查詢的一部分

(6)指針控制語言(CCL)

全稱CURSOR Control Language ,它的語句,像DECLARE CURSOR,F(xiàn)ETCH INTO和UPDATE WHERE CURRENT用于對一個或多個表單獨行的操作

小結(jié):常見的SQL語句最常見的分類一般就是3類

DDL--數(shù)據(jù)定義語言(CREATE,ALTER,DROP)

DML--數(shù)據(jù)操作語言(SELECT,INSERT,DELETE,UPDATE)

DCL--數(shù)據(jù)控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI