天天看點

MySQL基礎操作指令 MySQL基礎操作指令

1、 檢視MySQL程序

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、 關閉資料庫

(1)平滑關閉資料庫

mysqladmin -uroot -pcentos shutdown

/etc/init.d/mysqld stop

kill -USR2 cat path/pid

(2)強制關閉資料庫

killall mysqld

pkill mysqld

killall -9 mysqld

注意:盡量不要野蠻的殺死資料庫,生産高并發環境可能會引起資料丢失。

5、 多執行個體啟動與關閉

多執行個體的啟動就是我們寫腳本,啟動時用mysqld_safe指定配置檔案啟動,關閉時用mysqadmin

(2)/data/3307/mysql stop

6、 登陸mysql方法

(1)單執行個體登陸

mysq                        #資料庫沒有配置秘密的登陸方式

mysql -uroot                #資料庫沒有配置秘密的登陸方式

mysql -uroot -p             #标準的dba指令登陸指令

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

強制linux不記錄敏感曆史指令

      #HISTCONTROL=ignorespace

(2)多執行個體登陸

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

多執行個體通過mysql -S指令制定不同的sock檔案登陸不同的服務中

(3)遠端連接配接無需制定sock路徑

mysql -uroot -p 127.0.0.1 -P3307

7、 更改MySQL資料庫登陸提示符

(1)指令行修改登陸提示符,臨時生效(進入資料庫中)

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

(2)配置檔案修改登陸提示符

在my.cnf配置檔案中[mysql]模闆下添加如下内容

[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使用者設定密碼方法

mysqladmin -u root password ‘centos123’ #沒有密碼的使用者設定密碼

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

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

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

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

注:在啟動時加--user=mysql參數,表示忽略授權驗證

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

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

(4)   重新開機服務再登陸

mysqladmin -uroot -pcentoos123 shtudown

/tec/init.d/mysqld start

mysql -uroot -p”centos123”

11、多執行個體MySQL啟動修改丢失root密碼

    (1)關閉mysql

          killall mysqld

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

      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結構化查詢語言

SQL結構化查詢語言包括6個部分

(1)資料查詢語言(DQL)

DQL全稱Data Query Language,其語句,也稱為“資料檢索語句”,用以從表中獲得資料,确定資料怎樣在應用程式給出,保留字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,并倒序排列

(2)資料操作語言(DML)

DML全稱Data Manipulation Language,其語句包括INSERT,UPDATE和DELETE。他們分别用于添加,修改和删除表中的行(資料)也稱作動作查詢語句

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

mysql> delete from mysql.user where host='::1';   #删除表中host=;;1的(行)資料

Query OK, 1 row affected (0.00 sec)

2 rows in set (0.00 sec)

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

TRANSACTION,COMMIT和ROLLBACK

(4)資料控制語言(DCL)

DCL全稱(Date Control Language),它的語句通過GRANT或REVOKE獲得許可,确定單使用者和使用者組多資料對象的通路。某些RDBMS可用GRANT或REVOKE控制對表單個列的通路。

(5)資料定義語言(DDL)

    DDL全稱(Date Definition Language),其語句包括動詞CREATE和DROP,在資料庫中建立新表或删除表(CREAT TABLE或DROP TABLE);為表加入索引等。DDL包括許多與人資料庫目錄中獲得有關的保留字。字也是動作查詢的一部分

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

全稱CURSOR Control Language ,它的語句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于對一個或多個表單獨行的操作

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

DDL--資料定義語言(CREATE,ALTER,DROP)

DML--資料操作語言(SELECT,INSERT,DELETE,UPDATE)

DCL--資料控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)

本文轉自 運維小當家 51CTO部落格,原文連結:http://blog.51cto.com/solin/1875373,如需轉載請自行聯系原作者