mysql的運行文件是mysqld;mysqld是一個可執行文件,代表著Mysql伺服器程序,執行這個文件可以直接啟動一個伺服器進程;而mysqld_safe是一個啟動腳本,它會間接呼叫mysqld,並且還會順帶啟動一個監控進程。
本教學操作環境:Windows10系統、mysql8版、Dell G3電腦。
mysql的運行檔是什麼?
Mysql啟動選項和設定檔
Mysql啟動方式
#下面的啟動指令都需要依賴在Linux環境下設定的Mysql環境變數
mysqldmysqld是一個可執行文件,就代表著Mysql伺服器程序,執行這個文件可以直接啟動一個伺服器進程。 如果非root使用者可以用以下方式啟動,指定啟動時讀取的設定檔。vi /etc/profile
在檔案末端加上Mysql的安裝路徑(示範中mysql配置在/usr/local/mysql-5.7.26下,這個路徑需要依照自己的環境而定)
export PATH=/usr/local/mysql-5.7.26/bin/:$PATH
更新文件後刷新配置文件,不然不能立即生效
## source /etc/profile
mysqld --defaults-file=/etc/my.cnf &root使用者需要加入啟動參數(mysql因為安全性問題不讓root使用者直接啟動,所以需要加入啟動參數強制使用root帳號啟動)。
mysqld --defaults-file=/etc/my.cnf --user=root &mysqld_safemysqld_safe是一個啟動腳本,它會間接呼叫mysqld,而且還會順帶啟動一個監控進程,這個監控進程在伺服器掛了的時候,可以自動重新啟動服務,另外這個腳本會將伺服器程式的錯誤訊息以及診斷訊息重新導向到某個檔案中記錄錯誤日誌。 可以不指定預設設定文件,指令如下
mysqld_safe --defaults-file=/etc/my.cnf &mysqld_multimysqld_multi可以啟動多個mysql資料庫實例,這裡不做探討。 mysql.server在mysq的安裝目錄其實還有一個資料夾
support-files,具體目錄是/usr/local/mysql-5.7 .26/support-files,裡面的mysql.server也是一個啟動腳本,這個腳本會間接呼叫mysqld_safe腳本,執行指令如下
### 路径依照自己的mysql安装路径来 cd /usr/local/mysql-5.7.26/support-files ./mysql.server start|stop如果給這個路徑指定了軟連線
ln -s /usr/local/mysql-5.7.26/support-files/mysql.server /etc/init.d/mysql
service mysql stop/startMysql啟動方式選項Mysql服務在啟動時就可以指定一些啟動參數,如之前討論過的Mysql服務端和客戶端的連接方式有TCP/IP、命名管道和共享記憶體、Unix域套接字文件,如果客戶端啟動時滿足以下幾種情況,就是和服務端採用域套接字文件通訊。
- 沒有指定
- -h
選項。
指定 - -h
指定了網域為localhost也就是
-hlocalhost。
客戶端啟動參數指定了 - --protocol=socket
。
-h後面接的是IP位址,就算是127.0.0.1那也就是採用TCP/IP連接,那麼這都是客戶端去操作的,如果是服務端禁止採用TCP/IP通訊該如何做呢?
--user=root
mysqld --user=root --skip-networking &
客戶端操作
### 采用unix域套接字文件通信 正常 [root@test ~]# mysql -uroot -p [root@test ~]# mysql -hlocalhsot -uroot -p ### 采用TCP/IP连接,直接拒绝 [root@test ~]# mysql -h127.0.0.1 -uroot -p mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)又如指定資料庫儲存引擎,在Mysql中預設是InnoDB,我們可以透過啟動選項修改
### 非root用户去除--user=root选项 mysqld --user=root --default-storage-engine=MyISAM##客戶端操作
mysql> use test; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> CREATE TABLE test( -> id INT -> ); Query OK, 0 rows affected (0.00 sec) mysql> show create table test; +-------+----------------------------------------------------------------------------------------+ | Table | Create Table | +-------+----------------------------------------------------------------------------------------+ | test | CREATE TABLE `test` ( `id` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-------+----------------------------------------------------------------------------------------+
创建后的数据库操作引擎变为MyISAM,配置生效。
综上Mysql如果存在多个启动指令可以采用**--启动选项1=值1 --启动选项2=值2 ... --启动选项n=值n**,配置修改启动项。
Mysql启动指令众多,其它指令可以通过命令**mysqld --verbose --help
**查看。
选项的长形式和短形式
在myql中其实一直有区分长形式命令和短形式命令,但是我们在使用时并没有注意;
需要注意的是长连接前面是两个横杠--
,短连接只有一个-
,另外长连接指令和值之前需要有空格,短连接可以紧挨着不需要空格。
### 长连接形式
mysql --host 127.0.0.1 --user root --port 3306 --password
### 短连接形式
mysql -h127.0.0.1 -uroot -P3306 -p
Mysql启动配置文件
采用Mysql启动方式选项虽然是方便,但也带来的一些问题,如果启动选项参数过多导致启动命令毫无可读性而言,启动选项配置的参数只对当前启动的服务生效,也就是如果下次重启所有的启动参数将被还原不会被记录,所以为了将这些启动参数保存,我们就需要一个配置文件默认称为my.cnf。
my.cnf配置文件按照启动的是客户端程序还是服务端程序将配置分为了多个组,如下所示
#### 服务端启动配置
[server]
### 格式一:配置项=具体值
port=3306
### 格式二:配置项(没有值的情况,配置项为禁止客户端采用TCP/IP连接)
skip-networking
[mysqld]
[mysqld_safe]
#### 客户端启动配置
[client]
[mysql]
[mysqladmin]
### 所有配置组的格式同上
mysqladmin:是一个执行管理操作的客户端程序,它可以检查服务器的配置和当前服务的状态,创建和删除数据库等。
[root@test ~]# mysqladmin -uroot -p processlist
Enter password:
+----+------+-----------+------+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+----------+------------------+
| 33 | root | localhost | test | Sleep | 5 | | |
| 35 | root | localhost | | Query | 0 | starting | show processlist |
+----+------+-----------+------+---------+------+----------+------------------+
[root@test ~]# mysqladmin -uroot -p status
Enter password:
Uptime: 13335 Threads: 2 Questions: 66 Slow queries: 0 Opens: 121 Flush tables: 3 Open tables: 5 Queries per second avg: 0.004
### 打印系统变量
[root@test ~]# mysqladmin -uroot -p variable
服务端和客户端不同命令启动会读取不同的配置组;
如果多个配置组存在相同的配置如下所示
[mysqld]
port = 3306
###.....省略其它配置
[server]
port=3333
[mysqld_safe]
port=5555
会根据书写顺序读取,也就是说后面的配置会覆盖前面的配置
- 如果服务端采用mysqld启动服务端那么port的最终结果为port=3333(只会读取[mysqld]和[server]配置组)
- 如果服务端采用mysqld_safe启动服务端那么port的最终结果为port=5555(只会读取[mysqld],[mysqld_safe]和[server]配置组)
My.cnf文件读取优先级
在启动Mysql服务时如果没有指定配置文件的具体路径,那么Mysql服务会到如下几个目录搜索,可以通过命令mysql --help
查看,部分说明如下
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
读取文件的顺序为
- /etc/my.cnf
- /etc/mysql/my.cnf
- /usr/local/mysql/etc/my.cnf
- ~/.my.cnf(注意:这里的文件名为.my.cnf和其它路径是有区别的,并且文件名前面有一个点那么Linux服务器会将这个文件隐藏,也就是使用ll命令查询不到此文件,只有使用ll -a才能获取,另外这个文件是在登录用户的家目录!!!)。
这四个文件会按照顺序读取,也就是说如果在/etc/my.cnf文件下配置了port=3006,在~/.my.cnf下面配置了port=3307那么最终读取的结果是port为3307。
当然这是Mysql读取默认配置的情况,我们可以自己指定配置文件路径,如下所示
#### --defaults-file后面接任意路径文件,非root用户不需要--user=root
mysqld --defaults-file=/usr/local/mysql/etc/my.cnf.copy --user=root
推荐学习:《MySQL视频教程》
以上是mysql的運行檔是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

MySQL適合初學者學習數據庫技能。 1.安裝MySQL服務器和客戶端工具。 2.理解基本SQL查詢,如SELECT。 3.掌握數據操作:創建表、插入、更新、刪除數據。 4.學習高級技巧:子查詢和窗口函數。 5.調試和優化:檢查語法、使用索引、避免SELECT*,並使用LIMIT。

MySQL通過表結構和SQL查詢高效管理結構化數據,並通過外鍵實現表間關係。 1.創建表時定義數據格式和類型。 2.使用外鍵建立表間關係。 3.通過索引和查詢優化提高性能。 4.定期備份和監控數據庫確保數據安全和性能優化。

MySQL是一個開源的關係型數據庫管理系統,廣泛應用於Web開發。它的關鍵特性包括:1.支持多種存儲引擎,如InnoDB和MyISAM,適用於不同場景;2.提供主從復制功能,利於負載均衡和數據備份;3.通過查詢優化和索引使用提高查詢效率。

SQL用於與MySQL數據庫交互,實現數據的增、刪、改、查及數據庫設計。 1)SQL通過SELECT、INSERT、UPDATE、DELETE語句進行數據操作;2)使用CREATE、ALTER、DROP語句進行數據庫設計和管理;3)複雜查詢和數據分析通過SQL實現,提升業務決策效率。

MySQL的基本操作包括創建數據庫、表格,及使用SQL進行數據的CRUD操作。 1.創建數據庫:CREATEDATABASEmy_first_db;2.創建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入數據:INSERTINTObooks(title,author,published_year)VA

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

構建MySQL數據庫的步驟包括:1.創建數據庫和表,2.插入數據,3.進行查詢。首先,使用CREATEDATABASE和CREATETABLE語句創建數據庫和表,然後用INSERTINTO語句插入數據,最後用SELECT語句查詢數據。

MySQL適合初學者,因為它易用且功能強大。 1.MySQL是關係型數據庫,使用SQL進行CRUD操作。 2.安裝簡單,需配置root用戶密碼。 3.使用INSERT、UPDATE、DELETE、SELECT進行數據操作。 4.複雜查詢可使用ORDERBY、WHERE和JOIN。 5.調試需檢查語法,使用EXPLAIN分析查詢。 6.優化建議包括使用索引、選擇合適數據類型和良好編程習慣。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中