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,如需轉載請自行聯系原作者