30、mysql初始化及客戶端工具的使用
mysql監聽的埠: 3306/tcp
檢視埠
ss -tnl
檢視命令歷史
~/.mysql_history
Mysql初始化:提供配置檔案(/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf)
集中式的配置:多個應用程式共用的配置檔案
[mysqld]
[mysqld_safe]
[client]
使用配置檔案的方式
1、它依次查詢每個需要查詢的檔案,結果是所有檔案並集;
2、如果某引數在多個檔案中出現多次,後讀取的最終生效;
# /usr/local/mysql/bin/mysqld --help --verbose
0、讀取配置檔案的順序
1、顯示mysqld程式啟動時可用的選項,通常都是長選項
2、顯示mysqld的配置檔案中可用的服務變數
SHOW GLOBAL VARIABLES
SHOW SESSION VARIABLES
初始化:第二個操作
1、刪除所有匿名使用者
SELECT User,Host,Password FROM user;
DROP USER ''@'localhost';
DROP USER ''@'localhost.localdomain';
使用者帳號由兩部分組成:[email protected]
host還可以使用萬用字元:
%: 任意長度的任意字元
_: 匹配任意單個字元
2、給所有的root使用者設定密碼:
第一種方式:
SET PASSWORD FOR [email protected] = PASSWORD('your_passwrod');
第二種方式:(推薦)
PDATE user SET password = PASSWORD('your_password') WHERE user = 'root';
FLUSH PRIVILEGES;
第三種方式:
mysqladmin -uUserName -hHost password 'new_password' -p
mysqladmin -uUserName -hHost -p flush-privileges
3、設定遠端登入賬號
GRANT ALL ON mysql.* TO 'testuser'@'192.168.%.%' IDENTIFIED BY 'testpass';
FLUSH PRIVILEGES;
SELECT User,Host,Password FROM user;
連入MySQL伺服器
mysqld接收連線請求:
本地通訊:客戶端與伺服器端位於同一主機,而且還要基於127.0.0.1(localhost)地址或lo介面進行通訊;
Linux OR Unix: Unix Sock, /tmp/mysql.sock, /var/lib/mysql/mysql.sock
Windows: memory, pipe
遠端通訊:客戶端與伺服器位於不同的主機,或在同一主機便使用非迴環地址通訊
TCP socket
客戶端工具:mysql, mysqladmin, mysqldump, mysqlcheck
配置檔案中[client]欄位會影響上述客戶端工具
通用的選項:
-u, --user=
-h, --host=
-p, --password=
--protocol={tcp|socket|memory|pipe}
--port=
--socket= 例如:/tmp/mysql.sock
非客戶端類的管理工具:myisamchk, myisampack
mysql工作模式:
互動式模式
mysql>
指令碼模式
mysql < /path/to/mysql_script.sql
mysql互動式模式:
客戶端命令
mysql> help
\q
\. /path/to/mysql_script.sql
伺服器端命令:需要命令結束符,預設為分號(;)
mysql> help contents
mysql> help Keryword
mysql命令列選項:
--compress 壓縮傳輸
--database=, -D 指定連線的資料庫
-H, --html 輸出結果為html格式的文件
-X, --xml 輸出格式為xml
--sate-updates: 拒絕使用無where子句的update或delete命令;
mysql命令提示符:
mysql> 等待輸入命令
-> 續航符
'> 等待輸入單引號分隔符
"> 等待輸入雙引號分隔符
`> 等待輸入反引號分隔符
/*> 註釋資訊
單引號、雙引號、反引號都可以用來引用字元
mysql的快捷鍵:
Ctrl + w: 刪除游標之前的單詞
Ctrl + u: 刪除游標之前至命令列首的所有內容
Ctrl + y: 貼上使用Ctrl+w或Ctrl+u刪除的內容
Ctrl + a: 移動游標至行首
Ctrl + e: 移動游標至行尾
mysqldmin工具:
mysqladmin [options] command [arg] [command [arg]] ...
command:
create DB_NAME 建立資料庫
drop DB_NAME 刪除資料庫
debug 開啟除錯日誌並記錄於error log中;
status 顯示簡要狀態資訊
--sleep # 間隔時長
--count # 顯示的批次
extended-status 輸出mysqld的各狀態變數及其值,相當於執行“mysql> SHOW GLOBAL STATUS”
variables 輸出mysqld的各伺服器變數
flush-hosts 清空主機相關的快取:DNS解析快取,此前因為連線錯誤次數過多而被拒絕訪問mysqld的主機列表
flush-logs 日誌滾動,二進位制日誌和中繼日誌
refresh 相當於同時使用flush-logs和flush-hosts
flush-privileges:
reload 功能同flush-privileges
flush-status 重置狀態變數的值
flush-tables 關閉當前開啟的表文件控制代碼
flush-threads 清空執行緒快取
kill 殺死指定的執行緒,可以一次殺死多個執行緒,以逗號分隔,但不能有多餘空格
password 修改當前使用者的密碼
ping 檢視資料庫是否線上
processlist 顯示mysql執行緒列表
shutdown 關閉mysqld程序;
start-slave 啟動從伺服器執行緒
stop-slave 關閉從伺服器執行緒
GUI客戶端工具:
Navicat for mysql
Toad for mysql
mysql front
sqlyog
phpMyAdmin