一、 查看MySQL進程mysql
ps -ef|grep mysql |grep -v greplinux
二、 查看MySQL端口sql
ss -lnt | grep 3306數據庫
三、 MySQL的啓動centos
mysql -uroot -p併發
/etc/init.d/mysqlide
初始化時MySQL的啓動方法高併發
mysqld_safe -user=mysql &spa
四、 關閉數據庫命令行
(1)平滑關閉數據庫
mysqladmin -uroot -pcentos shutdown
/etc/init.d/mysqld stop
kill -USR2 cat path/pid
(2)強制關閉數據庫
killall mysqld
pkill mysqld
killall -9 mysqld
注意:儘可能不要野蠻的殺死數據庫,生產高併發環境可能會引發數據丟失。
五、 多實例啓動與關閉
多實例的啓動就是咱們寫腳本,啓動時用mysqld_safe指定配置文件啓動,關閉時用mysqadmin
(2)/data/3307/mysql stop
六、 登錄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
七、 更改MySQL數據庫登錄提示符
(1)命令行修改登錄提示符,臨時生效(進入數據庫中)
mysql> prompt \u@solindb \r:\m:\s->
(2)配置文件修改登錄提示符
在my.cnf配置文件中[mysql]模板下添加以下內容
[mysql]
prompt=\\u@solindb \\r:\\m:\\s->
八、 MySQL的幫助命令help
MySQL中的help和linux的man類似
mysql> help history
mysql> help grant
mysql> help show grants
九、 爲管理員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
/etc/init.d/mysqld stop
(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」;
mysql> flush privileges;
(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,並倒序排列
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
| root | 127.0.0.1 |
| root | ::1 |
+------+-----------+
3 rows in set (0.00 sec)
(2)數據操做語言(DML)
DML全稱Data Manipulation Language,其語句包括INSERT,UPDATE和DELETE。他們分別用於添加,修改和刪除表中的行(數據)也稱做動做查詢語句
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的(行)數據
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)
它的語句能確保被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)