搜尋
首頁運維linux運維linux停止mysql服務指令有哪些

linux停止mysql服務指令有哪些

May 12, 2023 pm 06:40 PM
mysqllinux

linux停止mysql服務指令有:1、使用指令service停止,語法如「service mysqld stopRedirecting to /bin/systemctl」;2、使用指令systemctl停止,語法如「/ bin/systemctl stop mysqld.service」;3、使用指令mysqladmin停止,語法如「mysqladmin -uroot」。

Linux 啟動/重新啟動/停止MySQL 資料庫的指令

一、啟動MySQL 資料庫的指令

(一)使用指令service啟動

[root@htlwk0001host /]# service mysqld startRedirecting to /bin/systemctl start mysqld.service

說明:
可以成功啟動MySQL 資料庫服務,不過實際上是重定向到指令systemctl 來啟動服務的。

(二)使用指令systemctl 啟動

[root@htlwk0001host ~]# systemctl start mysqld.service

如果沒有設定相關的環境變量,你可以進入到指令systemctl 所在目錄後再執行上述的指令語句,或是在指令終端直接輸入指令完整的路徑來執行:

[root@htlwk0001host ~]# /bin/systemctl start mysqld.service

不知道指令所在目錄,你可以使用指令which 來查詢。

二、停止MySQL 資料庫的指令

(一)使用指令service 停止

[root@htlwk0001host /]# service mysqld stopRedirecting to /bin/systemctl 
stop mysqld.service

說明:
(1)可以成功停止MySQL 資料庫服務,不過實際上是重定向到指令systemctl 來停止服務的。
(2)如果是 ubuntu 系統,停止資料庫的指令是:service mysql stop

指令 service 在哪裡?

[root@htlwk0001host ~]# which service
/usr/sbin/service

注意:目錄 /sbin 下的指令只有使用者 root 才有權限使用。

指令 systemctl 在哪裡?

[root@htlwk0001host ~]# which systemctl
/usr/bin/systemctl

(二)使用指令systemctl 停止

[root@htlwk0001host ~]# /bin/systemctl stop mysqld.service

若配置了環境變量,則不必帶上完整的路徑,直接輸入命令即可:

[root@htlwk0001host ~]# systemctl stop mysqld.service

(三)使用指令mysqladmin 停止

使用該指令停止資料庫服務,其實需要登入資料庫才行,所以需要輸入登入資料庫的使用者名稱和密碼,登入成功後才執行指令選項shutdown,指令語句如下:

[root@htlwk0001host ~]# mysqladmin -uroot -p shutdown

三、重啟MySQL 資料庫的指令

(一)使用指令service 重新啟動

[root@htlwk0001host ~]# service mysqld restartRedirecting to /bin/systemctl restart mysqld.service

說明:
也是重定向到命令systemctl 來重啟服務的。

(二)使用指令systemctl 重啟

[root@htlwk0001host home]# /bin/systemctl restart mysqld.service

四、怎麼查看MySQL 是否啟動

(一)透過指令pgrep 看

[root@htlwk0001host ~]# pgrep -l mysqld1060114 mysqld

說明:
指令grep 是查找系統目前運行的進程,如上所示,可以根據進程名稱找到結果,說明進程mysqld 正在運行中。

(二)透過指令ps 查看

[root@htlwk0001host ~]# ps aux | grep mysqlmysql    1060114  1.5  4.9 1604076 182836 ?      Sl   08:33   0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root     1060165  0.0  0.0  12320   972 pts/0    S+   08:33   0:00 grep --color=auto mysql

說明:
如上所示的尋找結果,程式mysqld 是後台程式(即守護程式daemonize),進程狀態是sl ,表示該進程是子進程,且處於休眠狀態,如果MySQL 沒有啟動是查找不到這個進程的,查找到了就表示資料庫已經啟動了。

查找結果說明:
此行程屬於使用者mysql,進程ID 是1060114,CPU 佔用時間百分比1.5%,記憶體佔用百分比4.9%,可以使用的虛擬記憶體大小是1604076 千字節,進程佔用的物流記憶體是182836 千字節,進程啟動的時間是8:33(年月日看系統當前的時間) ,實際使用CPU 的時間是0(應該沒有更新吧!)

(三)透過指令cat 查看

[root@htlwk0001host ~]# cat /proc/1060114/statusName:	mysqld                			# 进程名称Umask:	0026							# 用户权限屏蔽位,实际权限=预设权限-Umask						State:	S (sleeping)					# 进程状态,可中断的睡眠状态Tgid:	1060114							# 线程组Id,等于Pid								Ngid:	0
Pid:	1060114							# 进程IdPPid:	1								# 父进程Id,启动PidTracerPid:	0							# 跟踪进程的PidUid:	27	27	27	27					# Uid/Euid/Suid/Fsuid 拥有者Id/有效用户Id/Suid(Set User ID)/Fsuid(file system user ID)Gid:	27	27	27	27					# Gid/Egid/Sgid/Fsgid 对照Uid来理解FDSize:	128								# 文件描述符的最大个数Groups:	27 								# 启动该进程的用户所属的组的IdNStgid:	1060114
NSpid:	1060114
NSpgid:	1060113
NSsid:	1060113
VmPeak:	 1604620 kB                     # 表示进程所占用最大虚拟内存大小,即进程所使用的虚拟内存的峰值VmSize:	 1604620 kB						# 表示进程当前使用的虚拟内存大小VmLck:	       0 kB						# 表示被锁定的内存大小,即已经锁住的物理内存的大小(锁住的物理内存不能交换到硬盘)VmPin:	       0 kB
VmHWM:	  183668 kB						# 表示进程所占用物理内存的峰值VmRSS:	  183632 kB						# 表示进程当前占用物理内存的大小(与procrank中的RSS)RssAnon:	  166396 kB
RssFile:	   17236 kB
RssShmem:	       0 kB
VmData:	  549388 kB						# 表示进程占用的数据段的大小VmStk:	     132 kB						# 表示进程堆栈段的大小,即进程占用的栈的大小VmExe:	   25480 kB						# 表示进程代码的大小,进程占用的代码段大小(不包括库)VmLib:	    7596 kB						# 表示进程所使用共享库的大小,进程所加载的动态库所占用的内存大小(可能与其它进程共享)VmPTE:	     696 kB						# 表示进程页表项的大小,进程占用的页表大小(交换表项数量)VmSwap:	       0 kB						# 进程所使用的交换区的大小HugetlbPages:	       0 kB				# Huge Translation Lookaside Buffer Pages 巨大的快速查找缓冲页表CoreDumping:	0						# 核心转储数据大小Threads:	48							# 共享使用该信号描述符的任务的个数SigQ:	0/14419							# 待处理信号的个数/目前最大可以处理的信号的个数SigPnd:	0000000000000000				# 屏蔽位,存储了该线程的待处理信号ShdPnd:	0000000000000000				# 屏蔽位,存储了该线程组的待处理信号SigBlk:	0000000000084007				# 存放被阻塞的信号SigIgn:	0000000000003000				# 存放被忽略的信号SigCgt:	00000001800006e8				# 存放被俘获到的信号CapInh:	0000000000000000				# 能被当前进程执行的程序的继承的能力CapPrm:	0000000000000000				# 进程能够使用的能力,可以包含CapEff中没有的能力,这些能力是被进程自己临时放弃的CapEff:	0000000000000000				# 是CapPrm的一个子集,进程放弃没有必要的能力有利于提高安全性CapBnd:	0000003fffffffff				# 是系统的边界能力,我们无法改变它CapAmb:	0000000000000000
NoNewPrivs:	0							# 没有新权限Seccomp:	0							# seccomp机制用于限制应用程序可以使用的系统调用,增加系统的安全性。Speculation_Store_Bypass:	vulnerable
Cpus_allowed:	3						# 可以执行该进程的CPU掩码集Cpus_allowed_list:	0-1					# 该进程可以使用CPU的列表,这里是0-1Mems_allowed:							# 更改进程执行时占用的内存有关Mems_allowed_list:	0					# 进程只是使用了结点0的内存资源voluntary_ctxt_switches:	94			# 表示进程主动切换的次数nonvoluntary_ctxt_switches:	194			# 进程被动切换的次数

說明:

  • /proc/ 是一個虛擬的檔案系統,是系統記憶體的映射,該目錄的資料都是存放在記憶體中,沒有佔用任何的硬碟空間,所以透過該目錄可以查找到進程的信息,就已經足夠說明該進程已經啟動了,否則在記憶體中是無法查找到有關的資訊的。

  • Tgid 是指線程組 Id,Tgid=Pid。一個行程就是一個執行緒組,每個行程的所有執行緒都有著相同的 Tgid,當程式開始執行時,只有一個主執行緒,這個主執行緒的 Tgid 就等於 Pid。而當其他執行緒被創建的時候,就繼承了主執行緒的 Tgid。

  • CoreDumping 當程式在運行的過程中出現異常終止或崩潰,系統會將程式當時的狀態記錄下來,保存在一個Core 檔案中,這種機制稱為Core Dump,又稱「核心轉儲」。 Core Dump 機制記錄了程式異常時的記憶體資料、暫存器狀態以及運行堆疊等信息,開發人員可以使用偵錯工具分析 Core 檔案來快速定位程式異常原因。

  • Ruid 實際使用者 Id,指的是進程執行者是誰。

  • Euid 有效使用者 Id,指進程執行時對檔案的存取權限。

  • Suid 儲存設定使用者 Id,作為 Effective User Id 的副本。

  • Fsuid 目前進程的檔案系統的使用者識別碼,一般情況下,檔案系統的使用者識別碼(fsuid)與有效的使用者識別碼(euid )是相同的。

  • Cpus_allowed 进程可以使用 CPU 的亲和性掩码,因为我们指定为两块 CPU,所以这里就是 3,如果该进程指定为4个 CPU (如果有话),这里就是 F(1111)。

(四)通过命令 lsof 查看

  1. 查看 mysql 进程打开的文件列表:

[root@htlwk0001host ~]# lsof -c mysqlCOMMAND     PID  USER   FD   TYPE             DEVICE  SIZE/OFF      NODE NAME
mysqld  1064381 mysql  cwd    DIR              253,1      4096    636744 /var/lib/mysql
mysqld  1064381 mysql  rtd    DIR              253,1       244       128 /
mysqld  1064381 mysql  txt    REG              253,1 251816000  51228705 /usr/sbin/mysqld
mysqld  1064381 mysql  mem    REG              253,1    553480  50342901 /usr/lib64/libpcre2-8.so.0.7.1

如上所示,如果数据库已经启动了,则可以查询到一堆被打开的文件,否则查询不到任何文件。

  1. 查看数据库默认端口 3306 的使用情况:

[root@htlwk0001host ~]# lsof -i:3306COMMAND     PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    1050299 root   72u  IPv6 19482407      0t0  TCP htlwk0001host:37380->47.114.59.224:mysql (CLOSE_WAIT)java    1050299 root   78u  IPv6 19482908      0t0  TCP htlwk0001host:37470->47.114.59.224:mysql (CLOSE_WAIT)

从上面的查询结果可以看出,进程 java 已经关闭和 MySQL 服务器的连接,数据库所在的主机地址是:47.114.59.224,端口名称:mysql,端口状态:CLOSE_WAIT。

数据库服务器开启后,查看端口 3306 的使用情况,如下:

[root@htlwk0001host ~]# lsof -i:3306COMMAND     PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    1050398  root   72u  IPv6 19485111      0t0  TCP htlwk0001host:37978->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   78u  IPv6 19482585      0t0  TCP htlwk0001host:37480->47.114.59.224:mysql (CLOSE_WAIT)java    1050398  root   80u  IPv6 19485118      0t0  TCP htlwk0001host:37980->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   81u  IPv6 19485120      0t0  TCP htlwk0001host:37982->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   82u  IPv6 19484462      0t0  TCP htlwk0001host:37984->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   83u  IPv6 19484463      0t0  TCP htlwk0001host:37986->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   84u  IPv6 19484464      0t0  TCP htlwk0001host:37988->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   85u  IPv6 19484465      0t0  TCP htlwk0001host:37990->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   86u  IPv6 19484466      0t0  TCP htlwk0001host:37992->47.114.59.224:mysql (ESTABLISHED)java    1050398  root   87u  IPv6 19484467      0t0  TCP htlwk0001host:37994->47.114.59.224:mysql (ESTABLISHED)mysqld  1068848 mysql    4u  IPv6 19485112      0t0  TCP htlwk0001host:mysql->47.114.59.224:37978 (ESTABLISHED)mysqld  1068848 mysql   26u  IPv6 19485094      0t0  TCP *:mysql (LISTEN)mysqld  1068848 mysql   49u  IPv6 19485119      0t0  TCP htlwk0001host:mysql->47.114.59.224:37980 (ESTABLISHED)mysqld  1068848 mysql   50u  IPv6 19485121      0t0  TCP htlwk0001host:mysql->47.114.59.224:37982 (ESTABLISHED)mysqld  1068848 mysql   51u  IPv6 19485122      0t0  TCP htlwk0001host:mysql->47.114.59.224:37984 (ESTABLISHED)mysqld  1068848 mysql   52u  IPv6 19485123      0t0  TCP htlwk0001host:mysql->47.114.59.224:37986 (ESTABLISHED)mysqld  1068848 mysql   53u  IPv6 19485124      0t0  TCP htlwk0001host:mysql->47.114.59.224:37988 (ESTABLISHED)

(五)使用命令 netstat 查看

数据库启动后,使用命令 netstat 查看数据库服务端默认端口 3306 的使用情况:

[root@htlwk0001host ~]# netstat -an | grep ':3306'tcp6       0      0 :::3306                 :::*                    LISTEN     
tcp6       0      0 172.19.116.91:3306      47.114.59.224:37978     ESTABLISHED
tcp6       0      0 172.19.116.91:37982     47.114.59.224:3306      ESTABLISHED
tcp6       0      0 172.19.116.91:3306      47.114.59.224:37990     ESTABLISHED
tcp6       0      0 172.19.116.91:37988     47.114.59.224:3306      ESTABLISHED
tcp6       0      0 172.19.116.91:3306      47.114.59.224:37992     ESTABLISHED

从上面的查询结果看,我们看这条:tcp6 0 0 172.19.116.91:37982 47.114.59.224:3306 ESTABLISHED ,可以得知数据库服务端与客户端保持连接状态。

数据库关闭后,我们再使用命令 netstat 查看端口 3306 的使用情况:

[root@htlwk0001host ~]# netstat -an | grep ':3306'tcp6       0      0 172.19.116.91:3306      47.114.59.224:37978     FIN_WAIT2  
tcp6       1      0 172.19.116.91:37982     47.114.59.224:3306      CLOSE_WAIT 
tcp6       0      0 172.19.116.91:3306      47.114.59.224:37990     FIN_WAIT2  
tcp6       1      0 172.19.116.91:37988     47.114.59.224:3306      CLOSE_WAIT 
tcp6       0      0 172.19.116.91:3306      47.114.59.224:37992     FIN_WAIT2  
tcp6       0      0 172.19.116.91:3306      47.114.59.224:38006     FIN_WAIT2  
tcp6       0      0 172.19.116.91:3306      47.114.59.224:38004     FIN_WAIT2  
tcp6       1      0 172.19.116.91:38008     47.114.59.224:3306      CLOSE_WAIT 
tcp6       0      0 172.19.116.91:3306      47.114.59.224:37994     FIN_WAIT2  
tcp6       0      0 172.19.116.91:3306      47.114.59.224:38010     FIN_WAIT2  
tcp6       1      0 172.19.116.91:37984     47.114.59.224:3306      CLOSE_WAIT

(六)使用命令 service 查看数据库状态

[root@htlwk0001host ~]# service mysqld statusRedirecting to /bin/systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-04-23 16:11:01 CST; 8s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1069004 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 1068982 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1069006 (mysqld)
    Tasks: 46 (limit: 23070)
   Memory: 214.2M
   CGroup: /system.slice/mysqld.service
           └─1069006 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

4月 23 16:10:59 htlwk0001host systemd[1]: Starting MySQL Server...
4月 23 16:11:01 htlwk0001host systemd[1]: Started MySQL Server.

从上述的查询结果可以看到: Active: active (running) since Fri 2021-04-23 16:11:01 CST; 8s agoactive(running),说明数据库处于运行中的状态。

(七)使用命令 systemctl 查看数据库状态

[root@htlwk0001host ~]# /bin/systemctl status mysqld.service

命令 service 其实就是调命令 systemctl 查询的,所以命令 systemctl 的查询结果和命令 service 相同,就不展示了。

以上是linux停止mysql服務指令有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
Linux:如何進入恢復模式(和維護)Linux:如何進入恢復模式(和維護)Apr 18, 2025 am 12:05 AM

進入Linux恢復模式的步驟是:1.重啟系統並按特定鍵進入GRUB菜單;2.選擇帶有(recoverymode)的選項;3.在恢復模式菜單中選擇操作,如fsck或root。恢復模式允許你以單用戶模式啟動系統,進行文件系統檢查和修復、編輯配置文件等操作,幫助解決系統問題。

Linux的基本要素:為初學者解釋Linux的基本要素:為初學者解釋Apr 17, 2025 am 12:08 AM

Linux的核心組件包括內核、文件系統、Shell和常用工具。 1.內核管理硬件資源並提供基本服務。 2.文件系統組織和存儲數據。 3.Shell是用戶與系統交互的接口。 4.常用工具幫助完成日常任務。

Linux:看看其基本結構Linux:看看其基本結構Apr 16, 2025 am 12:01 AM

Linux的基本結構包括內核、文件系統和Shell。 1)內核管理硬件資源,使用uname-r查看版本。 2)EXT4文件系統支持大文件和日誌,使用mkfs.ext4創建。 3)Shell如Bash提供命令行交互,使用ls-l列出文件。

Linux操作:系統管理和維護Linux操作:系統管理和維護Apr 15, 2025 am 12:10 AM

Linux系統管理和維護的關鍵步驟包括:1)掌握基礎知識,如文件系統結構和用戶管理;2)進行系統監控與資源管理,使用top、htop等工具;3)利用系統日誌進行故障排查,借助journalctl等工具;4)編寫自動化腳本和任務調度,使用cron工具;5)實施安全管理與防護,通過iptables配置防火牆;6)進行性能優化與最佳實踐,調整內核參數和養成良好習慣。

了解Linux的維護模式:必需品了解Linux的維護模式:必需品Apr 14, 2025 am 12:04 AM

Linux維護模式通過在啟動時添加init=/bin/bash或single參數進入。 1.進入維護模式:編輯GRUB菜單,添加啟動參數。 2.重新掛載文件系統為讀寫模式:mount-oremount,rw/。 3.修復文件系統:使用fsck命令,如fsck/dev/sda1。4.備份數據並謹慎操作,避免數據丟失。

Debian如何提升Hadoop數據處理速度Debian如何提升Hadoop數據處理速度Apr 13, 2025 am 11:54 AM

本文探討如何在Debian系統上提升Hadoop數據處理效率。優化策略涵蓋硬件升級、操作系統參數調整、Hadoop配置修改以及高效算法和工具的運用。一、硬件資源強化確保所有節點硬件配置一致,尤其關注CPU、內存和網絡設備性能。選擇高性能硬件組件對於提升整體處理速度至關重要。二、操作系統調優文件描述符和網絡連接數:修改/etc/security/limits.conf文件,增加系統允許同時打開的文件描述符和網絡連接數上限。 JVM參數調整:在hadoop-env.sh文件中調整

Debian syslog如何學習Debian syslog如何學習Apr 13, 2025 am 11:51 AM

本指南將指導您學習如何在Debian系統中使用Syslog。 Syslog是Linux系統中用於記錄系統和應用程序日誌消息的關鍵服務,它幫助管理員監控和分析系統活動,從而快速識別並解決問題。一、Syslog基礎知識Syslog的核心功能包括:集中收集和管理日誌消息;支持多種日誌輸出格式和目標位置(例如文件或網絡);提供實時日誌查看和過濾功能。二、安裝和配置Syslog(使用Rsyslog)Debian系統默認使用Rsyslog。您可以通過以下命令安裝:sudoaptupdatesud

Debian中Hadoop版本怎麼選Debian中Hadoop版本怎麼選Apr 13, 2025 am 11:48 AM

選擇適合Debian系統的Hadoop版本,需要綜合考慮以下幾個關鍵因素:一、穩定性與長期支持:對於追求穩定性和安全性的用戶,建議選擇Debian穩定版,例如Debian11(Bullseye)。該版本經過充分測試,擁有長達五年的支持週期,能夠確保系統穩定運行。二、軟件包更新速度:如果您需要使用最新的Hadoop功能和特性,則可以考慮Debian的不穩定版(Sid)。但需注意,不穩定版可能存在兼容性問題和穩定性風險。三、社區支持與資源:Debian擁有龐大的社區支持,可以提供豐富的文檔和

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA

DVWA

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

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版

SublimeText3 Mac版

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

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器