search
HomeDatabaseMysql Tutorial每天进步一点点mysqlmysqlbinlog_MySQL

 

一、 简介

mysqlbinlog:用于查看服务器生成的二进制日志的工具。

二、 命令格式

mysqlbinlog 选项日志文件1 日志文件2

三、 常用参数

-d--database=name:指定数据库名称,只列出指定数据库相关操作

-o--offset=#:忽略掉日志中前N行命令

-r--result-file=name:将输出的文本格式日志输出到指定文件

-s--short-form:显示简单格式忽略掉一些信息

--set-charset=char-name:在输出为文本格式时,在文件第一行加上set names char-name,这个选项在某些情况下装载数据时非常有用。

--start-datetime=date --stop-datetime=date指定日期间各内的所有日志

--start-position=# --stop-position=#:指定位置时间间隔内的所有日志

四、 常用例子

1. 查看当前正在使用的二进制日志文件

mysql>show master status;

+--------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB |Binlog_Ignore_DB | Executed_Gtid_Set |

+--------------+----------+--------------+------------------+-------------------+

| mysql.000007 | 120 | | | |

+--------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

2. 不加任何参数,显示所有日志

[root@localhostdata]# mysqlbinlog mysql.000007

/*!50530 SET@@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET@@session.max_insert_delayed_threads=0*/;

/*!50003 SET@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#150717 11:01:43 server id 1 end_log_pos 120 CRC32 0xc3bad8fd Start: binlog v 4, server v 5.6.12-logcreated 150717 11:01:43

# Warning: this binlog is either in use orwas not closed properly.

BINLOG '

F3CoVQ8BAAAAdAAAAHgAAAABAAQANS42LjEyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAf3Y

usM=

'/*!*/;

# at 120

#150717 11:05:54 server id 1 end_log_pos 219 CRC32 0x79fabcbc Query thread_id=24910 exec_time=0 error_code=0

use`test2`/*!*/;

SET TIMESTAMP=1437102354/*!*/;

SET @@session.pseudo_thread_id=24910/*!*/;

SET @@session.foreign_key_checks=1,@@session.sql_auto_is_null=0, @@session.unique_checks=1,@@session.autocommit=1/*!*/;

SET @@session.sql_mode=1075838976/*!*/;

SET @@session.auto_increment_increment=1,@@session.auto_increment_offset=1/*!*/;

/*!\C utf8 *//*!*/;

SET@@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;

SET @@session.lc_time_names=0/*!*/;

SET@@session.collation_database=DEFAULT/*!*/;

createtable t6(id int)

/*!*/;

# at 219

#150717 11:06:09 server id 1 end_log_pos 300 CRC32 0xd883c511 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102369/*!*/;

BEGIN

/*!*/;

# at 300

#150717 11:06:09 server id 1 end_log_pos 399 CRC32 0x4845ae22 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102369/*!*/;

insertinto t6 value(1)

/*!*/;

# at 399

#150717 11:06:09 server id 1 end_log_pos 430 CRC32 0x254bd95b Xid = 75156

COMMIT/*!*/;

# at 430

#150717 11:06:12 server id 1 end_log_pos 511 CRC32 0x400701db Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102372/*!*/;

BEGIN

/*!*/;

# at 511

#150717 11:06:12 server id 1 end_log_pos 610 CRC32 0x4d494d54 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102372/*!*/;

insertinto t6 value(2)

/*!*/;

# at 610

#150717 11:06:12 server id 1 end_log_pos 641 CRC32 0xc0160921 Xid = 75157

COMMIT/*!*/;

# at 641

#150717 11:06:14 server id 1 end_log_pos 722 CRC32 0x722e009d Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102374/*!*/;

BEGIN

/*!*/;

# at 722

#150717 11:06:14 server id 1 end_log_pos 821 CRC32 0x46f08ed1 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102374/*!*/;

insertinto t6 value(3)

/*!*/;

# at 821

#150717 11:06:14 server id 1 end_log_pos 852 CRC32 0x6eccabd7 Xid = 75158

COMMIT/*!*/;

# at 852

#150717 11:06:36 server id 1 end_log_pos 933 CRC32 0x1d97f072 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102396/*!*/;

BEGIN

/*!*/;

# at 933

#150717 11:06:36 server id 1 end_log_pos 1034 CRC32 0xca5d7197 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102396/*!*/;

deletefrom t6 where id=3

/*!*/;

# at 1034

#150717 11:06:36 server id 1 end_log_pos 1065 CRC32 0xc36e2552 Xid = 75159

COMMIT/*!*/;

# at 1065

#150717 11:21:20 server id 1 end_log_pos 1166 CRC32 0x937167ae Query thread_id=24910 exec_time=0 error_code=0

use `jiaowu`/*!*/;

SET TIMESTAMP=1437103280/*!*/;

createtable t7(id int)

/*!*/;

# at 1166

#150717 11:22:03 server id 1 end_log_pos 1261 CRC32 0xb31be6d1 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437103323/*!*/;

truncatetable t7

/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SETCOMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET@@SESSION.PSEUDO_SLAVE_MODE=0*/;

1. 做一些操作

mysql>create table t6(id int);

Query OK, 0 rows affected (0.02 sec)

 

mysql>insert into t6 value(1);

Query OK, 1 row affected (0.00 sec)

 

mysql>insert into t6 value(2);

Query OK, 1 row affected (0.01 sec)

 

mysql>insert into t6 value(3);

Query OK, 1 row affected (0.01 sec)

 

mysql>delete from t6 where id=3;

Query OK, 1 row affected (0.00 sec)

2. 只看jiaowu库中的信息

[root@localhostdata]# mysqlbinlog mysql.000007 -d jiaowu

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET@@session.max_insert_delayed_threads=0*/;

/*!50003 SET@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#150717 11:01:43 server id 1 end_log_pos 120 CRC32 0xc3bad8fd Start: binlog v 4, server v 5.6.12-logcreated 150717 11:01:43

# Warning: this binlog is either in use orwas not closed properly.

BINLOG '

F3CoVQ8BAAAAdAAAAHgAAAABAAQANS42LjEyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAf3Y

usM=

'/*!*/;

# at 120

# at 219

#150717 11:06:09 server id 1 end_log_pos 300 CRC32 0xd883c511 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102369/*!*/;

SET @@session.pseudo_thread_id=24910/*!*/;

SET @@session.foreign_key_checks=1,@@session.sql_auto_is_null=0, @@session.unique_checks=1,@@session.autocommit=1/*!*/;

SET @@session.sql_mode=1075838976/*!*/;

SET @@session.auto_increment_increment=1,@@session.auto_increment_offset=1/*!*/;

/*!\C utf8 *//*!*/;

SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;

SET @@session.lc_time_names=0/*!*/;

SET@@session.collation_database=DEFAULT/*!*/;

BEGIN

/*!*/;

# at 300

# at 399

#150717 11:06:09 server id 1 end_log_pos 430 CRC32 0x254bd95b Xid = 75156

COMMIT/*!*/;

# at 430

#150717 11:06:12 server id 1 end_log_pos 511 CRC32 0x400701db Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102372/*!*/;

BEGIN

/*!*/;

# at 511

# at 610

#150717 11:06:12 server id 1 end_log_pos 641 CRC32 0xc0160921 Xid = 75157

COMMIT/*!*/;

# at 641

#150717 11:06:14 server id 1 end_log_pos 722 CRC32 0x722e009d Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102374/*!*/;

BEGIN

/*!*/;

# at 722

# at 821

#150717 11:06:14 server id 1 end_log_pos 852 CRC32 0x6eccabd7 Xid = 75158

COMMIT/*!*/;

# at 852

#150717 11:06:36 server id 1 end_log_pos 933 CRC32 0x1d97f072 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102396/*!*/;

BEGIN

/*!*/;

# at 933

# at 1034

#150717 11:06:36 server id 1 end_log_pos 1065 CRC32 0xc36e2552 Xid = 75159

COMMIT/*!*/;

# at 1065

#150717 11:21:20 server id 1 end_log_pos 1166 CRC32 0x937167ae Query thread_id=24910 exec_time=0 error_code=0

use `jiaowu`/*!*/;

SET TIMESTAMP=1437103280/*!*/;

createtable t7(id int)

/*!*/;

# at 1166

#150717 11:22:03 server id 1 end_log_pos 1261 CRC32 0xb31be6d1 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437103323/*!*/;

truncatetable t7

/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SETCOMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET@@SESSION.PSEUDO_SLAVE_MODE=0*/;

3. 忽略前三个操作

[root@localhostdata]# mysqlbinlog mysql.000007 -o 3

/*!50530 SET@@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET @@session.max_insert_delayed_threads=0*/;

/*!50003 SET@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#150717 11:01:43 server id 1 end_log_pos 120 CRC32 0xc3bad8fd Start: binlog v 4, server v 5.6.12-logcreated 150717 11:01:43

# Warning: this binlog is either in use orwas not closed properly.

BINLOG '

F3CoVQ8BAAAAdAAAAHgAAAABAAQANS42LjEyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAf3Y

usM=

'/*!*/;

# at 300

#150717 11:06:09 server id 1 end_log_pos 399 CRC32 0x4845ae22 Query thread_id=24910 exec_time=0 error_code=0

use`test2`/*!*/;

SET TIMESTAMP=1437102369/*!*/;

SET @@session.pseudo_thread_id=24910/*!*/;

SET @@session.foreign_key_checks=1,@@session.sql_auto_is_null=0, @@session.unique_checks=1,@@session.autocommit=1/*!*/;

SET @@session.sql_mode=1075838976/*!*/;

SET @@session.auto_increment_increment=1,@@session.auto_increment_offset=1/*!*/;

/*!\C utf8 *//*!*/;

SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;

SET @@session.lc_time_names=0/*!*/;

SET@@session.collation_database=DEFAULT/*!*/;

insertinto t6 value(1)

/*!*/;

# at 399

#150717 11:06:09 server id 1 end_log_pos 430 CRC32 0x254bd95b Xid = 75156

COMMIT/*!*/;

# at 430

#150717 11:06:12 server id 1 end_log_pos 511 CRC32 0x400701db Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102372/*!*/;

BEGIN

/*!*/;

# at 511

#150717 11:06:12 server id 1 end_log_pos 610 CRC32 0x4d494d54 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102372/*!*/;

insertinto t6 value(2)

/*!*/;

# at 610

#150717 11:06:12 server id 1 end_log_pos 641 CRC32 0xc0160921 Xid = 75157

COMMIT/*!*/;

# at 641

#150717 11:06:14 server id 1 end_log_pos 722 CRC32 0x722e009d Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102374/*!*/;

BEGIN

/*!*/;

# at 722

#150717 11:06:14 server id 1 end_log_pos 821 CRC32 0x46f08ed1 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102374/*!*/;

insertinto t6 value(3)

/*!*/;

# at 821

#150717 11:06:14 server id 1 end_log_pos 852 CRC32 0x6eccabd7 Xid = 75158

COMMIT/*!*/;

# at 852

#150717 11:06:36 server id 1 end_log_pos 933 CRC32 0x1d97f072 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102396/*!*/;

BEGIN

/*!*/;

# at 933

#150717 11:06:36 server id 1 end_log_pos 1034 CRC32 0xca5d7197 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102396/*!*/;

deletefrom t6 where id=3

/*!*/;

# at 1034

#150717 11:06:36 server id 1 end_log_pos 1065 CRC32 0xc36e2552 Xid = 75159

COMMIT/*!*/;

# at 1065

#150717 11:21:20 server id 1 end_log_pos 1166 CRC32 0x937167ae Query thread_id=24910 exec_time=0 error_code=0

use `jiaowu`/*!*/;

SET TIMESTAMP=1437103280/*!*/;

createtable t7(id int)

/*!*/;

# at 1166

#150717 11:22:03 server id 1 end_log_pos 1261 CRC32 0xb31be6d1 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437103323/*!*/;

truncatetable t7

/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SETCOMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

4. 将输出结果导出到文件

[root@localhostdata]# mysqlbinlog mysql.000007 -o 3 -r /root/test.sql

5. 将指定时间中的内容简单显示

[root@localhostdata]# mysqlbinlog mysql.000007 --start-datetime='2015/07/17 11:06:14'--stop-datetime='2015/07/17 11:12:20'

/*!50530 SET@@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!40019 SET@@session.max_insert_delayed_threads=0*/;

/*!50003 SET@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#150717 11:01:43 server id 1 end_log_pos 120 CRC32 0xc3bad8fd Start: binlog v 4, server v 5.6.12-logcreated 150717 11:01:43

# Warning: this binlog is either in use orwas not closed properly.

BINLOG '

F3CoVQ8BAAAAdAAAAHgAAAABAAQANS42LjEyLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAf3Y

usM=

'/*!*/;

# at 641

#150717 11:06:14 server id 1 end_log_pos 722CRC32 0x722e009d Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102374/*!*/;

SET @@session.pseudo_thread_id=24910/*!*/;

SET @@session.foreign_key_checks=1,@@session.sql_auto_is_null=0, @@session.unique_checks=1,@@session.autocommit=1/*!*/;

SET @@session.sql_mode=1075838976/*!*/;

SET @@session.auto_increment_increment=1,@@session.auto_increment_offset=1/*!*/;

/*!\C utf8 *//*!*/;

SET@@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;

SET @@session.lc_time_names=0/*!*/;

SET@@session.collation_database=DEFAULT/*!*/;

BEGIN

/*!*/;

# at 722

#150717 11:06:14 server id 1 end_log_pos 821 CRC32 0x46f08ed1 Query thread_id=24910 exec_time=0 error_code=0

use `test2`/*!*/;

SET TIMESTAMP=1437102374/*!*/;

insert into t6 value(3)

/*!*/;

# at 821

#150717 11:06:14 server id 1 end_log_pos 852 CRC32 0x6eccabd7 Xid = 75158

COMMIT/*!*/;

# at 852

#150717 11:06:36 server id 1 end_log_pos 933 CRC32 0x1d97f072 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102396/*!*/;

BEGIN

/*!*/;

# at 933

#150717 11:06:36 server id 1 end_log_pos 1034 CRC32 0xca5d7197 Query thread_id=24910 exec_time=0 error_code=0

SET TIMESTAMP=1437102396/*!*/;

delete from t6 where id=3

/*!*/;

# at 1034

#150717 11:06:36 server id 1 end_log_pos 1065CRC32 0xc36e2552 Xid = 75159

COMMIT/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SETCOMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET@@SESSION.PSEUDO_SLAVE_MODE=0*/;=0*/;

注意:--start-datetime包含所选择时间,--stop-datatime不包含所选时间,如果只写前者则表明到日志最后结束,如果只写后者则表明从日志最开始时间开始

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How does MySQL's licensing compare to other database systems?How does MySQL's licensing compare to other database systems?Apr 25, 2025 am 12:26 AM

MySQL uses a GPL license. 1) The GPL license allows the free use, modification and distribution of MySQL, but the modified distribution must comply with GPL. 2) Commercial licenses can avoid public modifications and are suitable for commercial applications that require confidentiality.

When would you choose InnoDB over MyISAM, and vice versa?When would you choose InnoDB over MyISAM, and vice versa?Apr 25, 2025 am 12:22 AM

The situations when choosing InnoDB instead of MyISAM include: 1) transaction support, 2) high concurrency environment, 3) high data consistency; conversely, the situation when choosing MyISAM includes: 1) mainly read operations, 2) no transaction support is required. InnoDB is suitable for applications that require high data consistency and transaction processing, such as e-commerce platforms, while MyISAM is suitable for read-intensive and transaction-free applications such as blog systems.

Explain the purpose of foreign keys in MySQL.Explain the purpose of foreign keys in MySQL.Apr 25, 2025 am 12:17 AM

In MySQL, the function of foreign keys is to establish the relationship between tables and ensure the consistency and integrity of the data. Foreign keys maintain the effectiveness of data through reference integrity checks and cascading operations. Pay attention to performance optimization and avoid common errors when using them.

What are the different types of indexes in MySQL?What are the different types of indexes in MySQL?Apr 25, 2025 am 12:12 AM

There are four main index types in MySQL: B-Tree index, hash index, full-text index and spatial index. 1.B-Tree index is suitable for range query, sorting and grouping, and is suitable for creation on the name column of the employees table. 2. Hash index is suitable for equivalent queries and is suitable for creation on the id column of the hash_table table of the MEMORY storage engine. 3. Full text index is used for text search, suitable for creation on the content column of the articles table. 4. Spatial index is used for geospatial query, suitable for creation on geom columns of locations table.

How do you create an index in MySQL?How do you create an index in MySQL?Apr 25, 2025 am 12:06 AM

TocreateanindexinMySQL,usetheCREATEINDEXstatement.1)Forasinglecolumn,use"CREATEINDEXidx_lastnameONemployees(lastname);"2)Foracompositeindex,use"CREATEINDEXidx_nameONemployees(lastname,firstname);"3)Forauniqueindex,use"CREATEU

How does MySQL differ from SQLite?How does MySQL differ from SQLite?Apr 24, 2025 am 12:12 AM

The main difference between MySQL and SQLite is the design concept and usage scenarios: 1. MySQL is suitable for large applications and enterprise-level solutions, supporting high performance and high concurrency; 2. SQLite is suitable for mobile applications and desktop software, lightweight and easy to embed.

What are indexes in MySQL, and how do they improve performance?What are indexes in MySQL, and how do they improve performance?Apr 24, 2025 am 12:09 AM

Indexes in MySQL are an ordered structure of one or more columns in a database table, used to speed up data retrieval. 1) Indexes improve query speed by reducing the amount of scanned data. 2) B-Tree index uses a balanced tree structure, which is suitable for range query and sorting. 3) Use CREATEINDEX statements to create indexes, such as CREATEINDEXidx_customer_idONorders(customer_id). 4) Composite indexes can optimize multi-column queries, such as CREATEINDEXidx_customer_orderONorders(customer_id,order_date). 5) Use EXPLAIN to analyze query plans and avoid

Explain how to use transactions in MySQL to ensure data consistency.Explain how to use transactions in MySQL to ensure data consistency.Apr 24, 2025 am 12:09 AM

Using transactions in MySQL ensures data consistency. 1) Start the transaction through STARTTRANSACTION, and then execute SQL operations and submit it with COMMIT or ROLLBACK. 2) Use SAVEPOINT to set a save point to allow partial rollback. 3) Performance optimization suggestions include shortening transaction time, avoiding large-scale queries and using isolation levels reasonably.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment