centos65上安装mysql一 梳理了一下centos上安装mysql的三种方法:一是通过源码安装,二是用通用二进制包,三是通过不同linux release到系统包安装,centos上是RPM包安装。 先来rpm包装 0 环境 [root@host2 ~]# uname -a Linux host2 2.6.32-504.3.3.el6.x86_64
centos65上安装mysql一梳理了一下centos上安装mysql的三种方法:一是通过源码安装,二是用通用二进制包,三是通过不同linux release到系统包安装,centos上是RPM包安装。
先来rpm包装
0
环境
[root@host2 ~]# uname -a
Linux host2 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@host2 ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
1
下载
http://dev.mysql.com/downloads/
2
检查是否安装
[root@host2 ~]# rpm -qa | grep -i mysql
文件名
MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar
3
删除已安装
[root@host2 ~]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps
[root@host2 ~]#
4
查验,这样删还是会留下一些东西
[root@host2 ~]# find / -name mysql
[root@host2 ~]# find / -name *mysql*
/etc/selinux/targeted/modules/active/modules/mysql.pp
/usr/lib/python2.6/site-packages/sos/plugins/mysql.pyc
/usr/lib/python2.6/site-packages/sos/plugins/mysql.pyo
/usr/lib/python2.6/site-packages/sos/plugins/mysql.py
/usr/share/vim/vim72/syntax/mysql.vim
/usr/share/selinux/devel/include/services/mysql.if
/usr/share/selinux/targeted/mysql.pp.bz2
/usr/share/doc/rsyslog-5.8.10/rsyslog_mysql.html
/usr/share/doc/rsyslog-5.8.10/ommysql.html
/usr/share/man/man5/mysql_table.5.gz
/usr/lib64/libreoffice/program/libmysqllo.so
/selinux/booleans/allow_user_mysql_connect
/selinux/booleans/mysql_connect_any
/var/lib/yum/yumdb/m/b642f65e3df41063e068158061ae2e08f22e3dad-mysql-libs-5.1.71-1.el6-x86_64
[root@host2 ~]# rpm -qa | grep -i mysql
[root@host2 ~]#
5
查验有否mysql用户和组
[root@host2 ~]# nl /etc/group | grep mysql
[root@host2 ~]# nl /etc/shadow | grep mysql
[root@host2 ~]#
6
解包
[root@host2 mysql_rpm]# tar -xvf MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar
MySQL-shared-compat-5.6.22-1.linux_glibc2.5.x86_64.rpm #RHEL兼容包
MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL客户端程序
MySQL-shared-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的共享库
MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL服务端程序
MySQL-test-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的测试组件
MySQL-devel-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的库和头文件
MySQL-embedded-5.6.22-1.linux_glibc2.5.x86_64.rpm #MySQL的嵌入式程序
[root@host2 mysql_rpm]#
7
[root@host2 mysql_rpm]# rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm
[root@host2 mysql_rpm]# rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]
warning: user mysql does not exist - using root
warning: group mysql does not exist - using root
2015-01-20 13:10:42 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-01-20 13:10:42 5645 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-01-20 13:10:42 5645 [Note] InnoDB: The InnoDB memory heap is disabled
2015-01-20 13:10:42 5645 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-01-20 13:10:42 5645 [Note] InnoDB: Memory barrier is not used
2015-01-20 13:10:42 5645 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-01-20 13:10:42 5645 [Note] InnoDB: Using Linux native AIO
2015-01-20 13:10:42 5645 [Note] InnoDB: Not using CPU crc32 instructions
2015-01-20 13:10:42 5645 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-01-20 13:10:42 5645 [Note] InnoDB: Completed initialization of buffer pool
2015-01-20 13:10:42 5645 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2015-01-20 13:10:42 5645 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2015-01-20 13:10:42 5645 [Note] InnoDB: Database physically writes the file full: wait...
2015-01-20 13:10:42 5645 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2015-01-20 13:10:42 5645 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2015-01-20 13:10:43 5645 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2015-01-20 13:10:43 5645 [Warning] InnoDB: New log files created, LSN=45781
2015-01-20 13:10:43 5645 [Note] InnoDB: Doublewrite buffer not found: creating new
2015-01-20 13:10:43 5645 [Note] InnoDB: Doublewrite buffer created
2015-01-20 13:10:43 5645 [Note] InnoDB: 128 rollback segment(s) are active.
2015-01-20 13:10:43 5645 [Warning] InnoDB: Creating foreign key constraint system tables.
2015-01-20 13:10:43 5645 [Note] InnoDB: Foreign key constraint system tables created
2015-01-20 13:10:43 5645 [Note] InnoDB: Creating tablespace and datafile system tables.
2015-01-20 13:10:43 5645 [Note] InnoDB: Tablespace and datafile system tables created.
2015-01-20 13:10:43 5645 [Note] InnoDB: Waiting for purge to start
2015-01-20 13:10:43 5645 [Note] InnoDB: 5.6.22 started; log sequence number 0
A random root password has been set. You will find it in '/root/.mysql_secret'.
2015-01-20 13:10:44 5645 [Note] Binlog end
2015-01-20 13:10:44 5645 [Note] InnoDB: FTS optimize thread exiting.
2015-01-20 13:10:44 5645 [Note] InnoDB: Starting shutdown...
2015-01-20 13:10:45 5645 [Note] InnoDB: Shutdown completed; log sequence number 1625977
2015-01-20 13:10:45 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-01-20 13:10:45 5667 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-01-20 13:10:45 5667 [Note] InnoDB: The InnoDB memory heap is disabled
2015-01-20 13:10:45 5667 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-01-20 13:10:45 5667 [Note] InnoDB: Memory barrier is not used
2015-01-20 13:10:45 5667 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-01-20 13:10:45 5667 [Note] InnoDB: Using Linux native AIO
2015-01-20 13:10:45 5667 [Note] InnoDB: Not using CPU crc32 instructions
2015-01-20 13:10:45 5667 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-01-20 13:10:45 5667 [Note] InnoDB: Completed initialization of buffer pool
2015-01-20 13:10:45 5667 [Note] InnoDB: Highest supported file format is Barracuda.
2015-01-20 13:10:45 5667 [Note] InnoDB: 128 rollback segment(s) are active.
2015-01-20 13:10:45 5667 [Note] InnoDB: Waiting for purge to start
2015-01-20 13:10:45 5667 [Note] InnoDB: 5.6.22 started; log sequence number 1625977
2015-01-20 13:10:45 5667 [Note] Binlog end
2015-01-20 13:10:45 5667 [Note] InnoDB: FTS optimize thread exiting.
2015-01-20 13:10:45 5667 [Note] InnoDB: Starting shutdown...
2015-01-20 13:10:47 5667 [Note] InnoDB: Shutdown completed; log sequence number 1625987
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.
You must change that password on your first connect,
no other statement but 'SET PASSWORD' will be accepted.
See the manual for the semantics of the 'password expired' flag.
Also, the account for the anonymous user has been removed.
In addition, you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test database.
This is strongly recommended for production servers.
See the manual for more instructions.
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
New default config file was created as /usr/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
[root@host2 mysql_rpm]#
8
已经有了mysql用户和组
[root@host2 mysql_rpm]# id mysql
uid=495(mysql) gid=492(mysql) groups=492(mysql)
[root@host2 mysql_rpm]# nl /etc/group | grep mysql
60 mysql:x:492:
[root@host2 mysql_rpm]# cat /etc/group | grep mysql
mysql:x:492:
[root@host2 mysql_rpm]# cat /etc/shadow | grep mysql
mysql:!!:16455::::::
[root@host2 mysql_rpm]#
9
RPM安装方式文件分布
Table 2.6 MySQLInstallation Layout for Linux RPM Packages from the MySQL DeveloperZone
Directory |
Contentsof Directory |
---|---|
|
Clientprograms and scripts |
|
Themysqldserver |
|
Logfiles, databases |
|
Manualin Info format |
|
Unixmanual pages |
|
Include(header) files |
|
Libraries |
|
Miscellaneoussupport files, including error messages, character set files,sample configuration files, SQL for database installation |
|
Benchmarks |
10
copy配置文件
# 没有这一步也可以按内置参数
[root@host2 mysql_rpm]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
[root@host2 mysql_rpm]#
11
start
[root@host2 mysql_rpm]# service mysql status
MySQL is not running [FAILED]
[root@host2 mysql_rpm]# service mysql start
Starting MySQL.. [ OK ]
11
查验
[root@host2 mysql_rpm]# netstat -anpl | grep mysql
tcp 0 0 :::3306 :::* LISTEN 5924/mysqld
unix 2 [ ACC ] STREAM LISTENING 76015 5924/mysqld /var/lib/mysql/mysql.sock
[root@host2 mysql_rpm]#
12
安装客户端
[root@host2 mysql_rpm]# rpm -ivh MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
[root@host2 mysql_rpm]#
13
连到mysql并修改
[root@host2 mysql_rpm]# nl /root/.mysql_secret
1 # The random password set for the root user at Tue Jan 20 13:10:43 2015 (local time): F76Wy1A4G9ZuLcaG
[root@host2 mysql_rpm]# mysql -p mysql
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.22
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql>
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.31 sec)
mysql> flush privileges;
mysql> \q
Bye
[root@host2 mysql_rpm]#
附:
这样安装后的文件
[root@host2 mysql_rpm]# ll /usr/bin/mysql*
-rwxr-xr-x. 1 root root 11558 Nov 21 14:26 /usr/bin/mysqlbug
-rwxr-xr-x. 1 root root 4334 Nov 21 14:26 /usr/bin/mysql_convert_table_format
-rwxr-xr-x. 1 root root 26356 Nov 21 14:26 /usr/bin/mysqld_multi
-rwxr-xr-x. 1 root root 24691 Nov 21 14:26 /usr/bin/mysqld_safe
-rwxr-xr-x. 1 root root 7424 Nov 21 14:26 /usr/bin/mysqldumpslow
-rwxr-xr-x. 1 root root 1366 Nov 21 14:26 /usr/bin/mysql_fix_extensions
-rwxr-xr-x. 1 root root 34938 Nov 21 14:26 /usr/bin/mysqlhotcopy
-rwxr-xr-x. 1 root root 34612 Nov 21 14:26 /usr/bin/mysql_install_db
-rwxr-xr-x. 1 root root 4701102 Nov 21 14:28 /usr/bin/mysql_plugin
-rwxr-xr-x. 1 root root 10106 Nov 21 14:26 /usr/bin/mysql_secure_installation
-rwxr-xr-x. 1 root root 17584 Nov 21 14:26 /usr/bin/mysql_setpermission
-rwxr-xr-x. 1 root root 8681526 Nov 21 14:28 /usr/bin/mysqltest
-rwxr-xr-x. 1 root root 4381081 Nov 21 14:26 /usr/bin/mysql_tzinfo_to_sql
-rwxr-xr-x. 1 root root 4859343 Nov 21 14:28 /usr/bin/mysql_upgrade
-rwxr-xr-x. 1 root root 3976 Nov 21 14:26 /usr/bin/mysql_zap
[root@host2 mysql_rpm]#
[root@host2 mysql_rpm]# ll /var/lib/mysql/mysql*
srwxrwxrwx. 1 mysql mysql 0 Jan 20 13:35 /var/lib/mysql/mysql.sock
/var/lib/mysql/mysql:
total 1628
-rw-------. 1 mysql mysql 8820 Jan 20 13:10 columns_priv.frm
-rw-------. 1 mysql mysql 0 Jan 20 13:10 columns_priv.MYD
-rw-------. 1 mysql mysql 4096 Jan 20 13:10 columns_priv.MYI
-rw-------. 1 mysql mysql 9582 Jan 20 13:10 db.frm
[root@host2 mysql_rpm]# ll /var/lib/mysql/
total 110624
-rw-rw----. 1 mysql mysql 56 Jan 20 13:35 auto.cnf
-rw-r-----. 1 mysql root 2021 Jan 20 13:35 host2.err
-rw-rw----. 1 mysql mysql 5 Jan 20 13:35 host2.pid
-rw-rw----. 1 mysql mysql 12582912 Jan 20 13:35 ibdata1
-rw-rw----. 1 mysql mysql 50331648 Jan 20 13:35 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Jan 20 13:10 ib_logfile1
drwx--x--x. 2 mysql mysql 4096 Jan 20 13:10 mysql
srwxrwxrwx. 1 mysql mysql 0 Jan 20 13:35 mysql.sock
drwx------. 2 mysql mysql 4096 Jan 20 13:10 performance_schema
-rw-r--r--. 1 root root 122 Jan 20 13:10 RPM_UPGRADE_HISTORY
-rw-r--r--. 1 mysql mysql 122 Jan 20 13:10 RPM_UPGRADE_MARKER-LAST
drwxr-xr-x. 2 mysql mysql 4096 Jan 20 13:10 test
[root@host2 mysql_rpm]#
[root@host2 mysql_rpm]# ll /usr/share/
drwxr-xr-x. 28 root root 4096 Jan 20 13:10 mysql
[root@host2 mysql_rpm]# ll /usr/share/mysql/
total 1504
-rwxr-xr-x. 1 root root 1153 Nov 21 14:26 binary-configure
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 bulgarian
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 charsets
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 czech
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 danish
-rwxr-xr-x. 1 root root 25575 Nov 21 13:39 dictionary.txt
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 dutch
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 english
-rwxr-xr-x. 1 root root 505241 Nov 21 13:39 errmsg-utf8.txt
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 estonian
-rwxr-xr-x. 1 root root 742787 Nov 21 13:40 fill_help_tables.sql
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 french
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 german
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 greek
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 hungarian
-rwxr-xr-x. 1 root root 3963 Nov 21 13:39 innodb_memcached_config.sql
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 italian
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 japanese
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 korean
-rwxr-xr-x. 1 root root 773 Nov 21 13:39 magic
-rwxr-xr-x. 1 root root 1126 Nov 21 14:26 my-default.cnf
-rwxr-xr-x. 1 root root 1061 Nov 21 14:26 mysqld_multi.server
-rwxr-xr-x. 1 root root 844 Nov 21 14:26 mysql-log-rotate
-rwxr-xr-x. 1 root root 1695 Nov 21 13:39 mysql_security_commands.sql
-rwxr-xr-x. 1 root root 10815 Nov 21 14:26 mysql.server
-rwxr-xr-x. 1 root root 3464 Nov 21 13:39 mysql_system_tables_data.sql
-rwxr-xr-x. 1 root root 93220 Nov 21 13:39 mysql_system_tables.sql
-rwxr-xr-x. 1 root root 10410 Nov 21 13:39 mysql_test_data_timezone.sql
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 norwegian
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 norwegian-ny
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 polish
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 portuguese
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 romanian
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 russian
drwxr-xr-x. 3 root root 4096 Jan 20 13:10 SELinux
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 serbian
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 slovak
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 spanish
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 swedish
drwxr-xr-x. 2 root root 4096 Jan 20 13:10 ukrainian
[root@host2 mysql_rpm]#
http://dev.mysql.com/doc/refman/5.6/en/linux-installation-rpm.html
-----------------
blog.csdn.net/beiigang

データベースの最適化では、クエリ要件に従ってインデックス作成戦略を選択する必要があります。1。クエリに複数の列が含まれ、条件の順序が固定されている場合、複合インデックスを使用します。 2。クエリに複数の列が含まれているが、条件の順序が修正されていない場合、複数の単一列インデックスを使用します。複合インデックスは、マルチコラムクエリの最適化に適していますが、単一列インデックスは単一列クエリに適しています。

MySQLスロークエリを最適化するには、slowquerylogとperformance_schemaを使用する必要があります。1。LowerQueryLogを有効にし、しきい値を設定して、スロークエリを記録します。 2。performance_schemaを使用してクエリの実行の詳細を分析し、パフォーマンスのボトルネックを見つけて最適化します。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

MySQL非同期マスタースレーブレプリケーションにより、BINLOGを介したデータの同期が可能になり、読み取りパフォーマンスと高可用性が向上します。 1)マスターサーバーレコードはBinlogに変更されます。 2)スレーブサーバーは、I/Oスレッドを介してBINLOGを読み取ります。 3)サーバーSQLスレッドは、BINLOGを適用してデータを同期させます。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQLのインストールと基本操作には、次のものが含まれます。1。mysqlをダウンロードしてインストールし、ルートユーザーパスワードを設定します。 2。sqlコマンドを使用して、createdatabaseやcreateTableなどのデータベースとテーブルを作成します。 3. CRUD操作を実行し、挿入、選択、更新、コマンドを削除します。 4.パフォーマンスを最適化し、複雑なロジックを実装するためのインデックスとストアドプロシージャを作成します。これらの手順を使用すると、MySQLデータベースをゼロから構築および管理できます。

Innodbbufferpoolは、データとインデックスページをメモリにロードすることにより、MySQLデータベースのパフォーマンスを向上させます。 1)データページは、ディスクI/Oを削減するためにBufferPoolにロードされます。 2)汚れたページは、定期的にディスクにマークされ、リフレッシュされます。 3)LRUアルゴリズム管理データページの排除。 4)読み出しメカニズムは、可能なデータページを事前にロードします。

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック



