1 常规错误的yum安装方法:
在前文中记述了CentOS 6.5系统中通过yum方式快速地搭建了LNMP环境,那么是否也能在CentOS 7或CentOS 7.1系统中依葫芦画瓢安装MySql5.6.24呢?答案是否定的。
[root@typecodes ~]# yum -y install mysql mysql-server mysql-devel .....................。 ....省略部分安装过程.... .....................。 Installed: mariadb.x86_64 1:5.5.41-2.el7_0 mariadb-devel.x86_64 1:5.5.41-2.el7_0 Dependency Installed: keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.12.2-14.el7 libcom_err-devel.x86_64 0:1.42.9-7.el7 libselinux-devel.x86_64 0:2.2.2-6.el7 libsepol-devel.x86_64 0:2.1.9-3.el7 libverto-devel.x86_64 0:0.2.5-4.el7 openssl-devel.x86_64 1:1.0.1e-42.el7.4 pcre-devel.x86_64 0:8.32-14.el7 zlib-devel.x86_64 0:1.2.7-13.el7 Complete!
从上面的安装结果可以看出,没有安装mysql数据库,而是安装了mariadb数据!因为在CentOS 7和CentOS 7.1系统中,默认安装的mysql是它的分支mariadb。这里引用下百度百科关于mariadb的描述:
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
因此,下面这些正常的MySQL操作都是无效的:
#######无法把mysql服务加入系统启动 [root@typecodes ~]# chkconfig mysqld on error reading information on service mysqld: No such file or directory #######启动不了mysql [root@typecodes ~]# service mysqld start Redirecting to /bin/systemctl start mysqld.service Failed to issue method call: Unit mysqld.service failed to load: No such file or directory. #######没有安装mysql相关包 [root@typecodes ~]# rpm -qa |grep mysql php-mysql-5.4.16-23.el7_0.3.x86_64 [root@typecodes ~]#
2 正确的安装方法:
众所周知,Linux系统自带的repo是不会自动更新每个软件的最新版本(基本都是比较靠后的稳定版),所以无法通过yum方式安装MySQL的高级版本。所以我们需要先安装带有当前可用的mysql5系列社区版资源的rpm包。
#######安装rpm包 [root@typecodes ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm Preparing... ################################# [100%] Updating / installing... 1:mysql-community-release-el7-5 ################################# [100%]
这时查看当前可用的mysql安装资源:
[root@typecodes ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community 14 mysql-tools-community/x86_64 MySQL Tools Community 17 mysql56-community/x86_64 MySQL 5.6 Community Server 139
从上面的列表可以看出, mysql56-community/x86_64 和 MySQL 5.6 Community Server 可以使用。
因此,我们就可以直接用yum方式安装了MySQL5.6版本了。
[root@typecodes ~]# yum -y install mysql-community-server
Loaded plugins: axelget, langpacks No metadata available for base No metadata available for epel No metadata available for extras (Failed to load module fastestmirror: No module named fastestmirror) repomd.xml | 2.5 kB 00:00:00 update mysql-connectors-community metadata successfully (Failed to load module fastestmirror: No module named fastestmirror) repomd.xml | 2.5 kB 00:00:00 update mysql-tools-community metadata successfully (Failed to load module fastestmirror: No module named fastestmirror) repomd.xml | 2.5 kB 00:00:00 update mysql56-community metadata successfully No metadata available for updates mysql-connectors-community | 2.5 kB 00:00:00 mysql-tools-community | 2.5 kB 00:00:00 mysql56-community | 2.5 kB 00:00:00 (1/3): mysql-connectors-community/x86_64/primary_db | 7.3 kB 00:00:00 (2/3): mysql56-community/x86_64/primary_db | 83 kB 00:00:01 mysql-tools-community/x86_64/p FAILED ============================================== ] 19 kB/s | 92 kB 00:00:00 ETA http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/repodata/3301d2eb425f300dec5a46c4201d08f2cf9232a6-primary.sqlite.bz2: [Errno 12] Timeout on http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/repodata/3301d2eb425f300dec5a46c4201d08f2cf9232a6-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 3 seconds') Trying other mirror. (3/3): mysql-tools-community/x86_64/primary_db | 15 kB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package mysql-community-server.x86_64 0:5.6.24-3.el7 will be installed --> Processing Dependency: mysql-community-common(x86-64) = 5.6.24-3.el7 for package: mysql-community-server-5.6.24-3.el7.x86_64 --> Processing Dependency: mysql-community-client(x86-64) = 5.6.24-3.el7 for package: mysql-community-server-5.6.24-3.el7.x86_64 --> Processing Dependency: perl(DBI) for package: mysql-community-server-5.6.24-3.el7.x86_64 --> Running transaction check ---> Package mariadb.x86_64 1:5.5.41-2.el7_0 will be obsoleted ---> Package mysql-community-client.x86_64 0:5.6.24-3.el7 will be obsoleting --> Processing Dependency: mysql-community-libs(x86-64) = 5.6.24-3.el7 for package: mysql-community-client-5.6.24-3.el7.x86_64 ---> Package mysql-community-common.x86_64 0:5.6.24-3.el7 will be installed ---> Package perl-DBI.x86_64 0:1.627-4.el7 will be installed --> Processing Dependency: perl(RPC::PlServer) >= 0.2001 for package: perl-DBI-1.627-4.el7.x86_64 --> Processing Dependency: perl(RPC::PlClient) >= 0.2000 for package: perl-DBI-1.627-4.el7.x86_64 --> Running transaction check ---> Package mariadb-libs.x86_64 1:5.5.41-2.el7_0 will be obsoleted --> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.41-2.el7_0 for package: 1:mariadb-devel-5.5.41-2.el7_0.x86_64 ---> Package mysql-community-libs.x86_64 0:5.6.24-3.el7 will be obsoleting ---> Package perl-PlRPC.noarch 0:0.2020-14.el7 will be installed --> Processing Dependency: perl(Net::Daemon) >= 0.13 for package: perl-PlRPC-0.2020-14.el7.noarch --> Processing Dependency: perl(Net::Daemon::Test) for package: perl-PlRPC-0.2020-14.el7.noarch --> Processing Dependency: perl(Net::Daemon::Log) for package: perl-PlRPC-0.2020-14.el7.noarch --> Processing Dependency: perl(Compress::Zlib) for package: perl-PlRPC-0.2020-14.el7.noarch --> Running transaction check ---> Package mariadb-devel.x86_64 1:5.5.41-2.el7_0 will be obsoleted ---> Package mysql-community-devel.x86_64 0:5.6.24-3.el7 will be obsoleting ---> Package perl-IO-Compress.noarch 0:2.061-2.el7 will be installed --> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch --> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch ---> Package perl-Net-Daemon.noarch 0:0.48-5.el7 will be installed --> Running transaction check ---> Package perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 will be installed ---> Package perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================= Installing: mysql-community-client x86_64 5.6.24-3.el7 mysql56-community 19 M replacing mariadb.x86_64 1:5.5.41-2.el7_0 mysql-community-devel x86_64 5.6.24-3.el7 mysql56-community 3.4 M replacing mariadb-devel.x86_64 1:5.5.41-2.el7_0 mysql-community-libs x86_64 5.6.24-3.el7 mysql56-community 2.0 M replacing mariadb-libs.x86_64 1:5.5.41-2.el7_0 mysql-community-server x86_64 5.6.24-3.el7 mysql56-community 58 M Installing for dependencies: mysql-community-common x86_64 5.6.24-3.el7 mysql56-community 256 k perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k perl-DBI x86_64 1.627-4.el7 base 802 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0.48-5.el7 base 51 k perl-PlRPC noarch 0.2020-14.el7 base 36 k Transaction Summary =============================================================================================================== ======================================================== Install 4 Packages (+7 Dependent packages) Total download size: 83 M Downloading packages: mysql-community-devel-5.6.24-3.el7.x86_64.rpm | 3.4 MB 00:00:03 mysql-community-client-5.6.24-3.el7.x86_64.rpm | 19 MB 00:00:05 mysql-community-server-5.6.24-3.el7.x86_64.rpm | 58 MB 00:00:11 mysql-community-libs-5.6.24-3.el7.x86_64.rpm | 2.0 MB 00:00:02 perl-DBI-1.627-4.el7.x86_64.rpm | 0 B 00:00:01 ... perl-DBI-1.627-4.el7.x86_64.rpm | 802 kB 00:00:00 (1/6): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm | 57 kB 00:00:00 (2/6): perl-Net-Daemon-0.48-5.el7.noarch.rpm | 51 kB 00:00:00 (3/6): perl-PlRPC-0.2020-14.el7.noarch.rpm | 36 kB 00:00:00 (4/6): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32 kB 00:00:00 (5/6): perl-IO-Compress-2.061-2.el7.noarch.rpm | 260 kB 00:00:00 warning: /var/cache/yum/x86_64/7/mysql56-community/packages/mysql-community-common-5.6.24-3.el7.x86_64.rpm: V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY 00:00:01 ETA Public key for mysql-community-common-5.6.24-3.el7.x86_64.rpm is not installed (6/6): mysql-community-common-5.6.24-3.el7.x86_64.rpm | 256 kB 00:00:01 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 388 kB/s | 692 kB 00:00:01 Retrieving key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql Importing GPG key 0x5072E1F5: Userid : "MySQL Release Engineering" Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5 Package : mysql-community-release-el7-5.noarch (installed) From : file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : mysql-community-common-5.6.24-3.el7.x86_64 1/14 Installing : mysql-community-libs-5.6.24-3.el7.x86_64 2/14 Installing : mysql-community-client-5.6.24-3.el7.x86_64 3/14 Installing : perl-Net-Daemon-0.48-5.el7.noarch 4/14 Installing : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 5/14 Installing : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 6/14 Installing : perl-IO-Compress-2.061-2.el7.noarch 7/14 Installing : perl-PlRPC-0.2020-14.el7.noarch 8/14 Installing : perl-DBI-1.627-4.el7.x86_64 9/14 Installing : mysql-community-server-5.6.24-3.el7.x86_64 10/14 Installing : mysql-community-devel-5.6.24-3.el7.x86_64 11/14 Erasing : 1:mariadb-devel-5.5.41-2.el7_0.x86_64 12/14 Erasing : 1:mariadb-5.5.41-2.el7_0.x86_64 13/14 Erasing : 1:mariadb-libs-5.5.41-2.el7_0.x86_64 14/14 Verifying : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 1/14 Verifying : mysql-community-common-5.6.24-3.el7.x86_64 2/14 Verifying : mysql-community-devel-5.6.24-3.el7.x86_64 3/14 Verifying : mysql-community-client-5.6.24-3.el7.x86_64 4/14 Verifying : perl-PlRPC-0.2020-14.el7.noarch 5/14 Verifying : mysql-community-server-5.6.24-3.el7.x86_64 6/14 Verifying : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 7/14 Verifying : mysql-community-libs-5.6.24-3.el7.x86_64 8/14 Verifying : perl-Net-Daemon-0.48-5.el7.noarch 9/14 Verifying : perl-DBI-1.627-4.el7.x86_64 10/14 Verifying : perl-IO-Compress-2.061-2.el7.noarch 11/14 Verifying : 1:mariadb-5.5.41-2.el7_0.x86_64 12/14 Verifying : 1:mariadb-devel-5.5.41-2.el7_0.x86_64 13/14 Verifying : 1:mariadb-libs-5.5.41-2.el7_0.x86_64 14/14 Installed: mysql-community-client.x86_64 0:5.6.24-3.el7 mysql-community-devel.x86_64 0:5.6.24-3.el7 mysql-community-libs.x86_64 0:5.6.24-3.el7 mysql-community-server.x86_64 0:5.6.24-3.el7 Dependency Installed: mysql-community-common.x86_64 0:5.6.24-3.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBI.x86_64 0:1.627-4.el7 perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PlRPC.noarch 0:0.2020-14.el7 Replaced: mariadb.x86_64 1:5.5.41-2.el7_0 mariadb-devel.x86_64 1:5.5.41-2.el7_0 mariadb-libs.x86_64 1:5.5.41-2.el7_0 Complete!
3 MySQL安装完成后,进行相关配置
安装完MySQL后,需要进行一些基础配置工作:
#######安装成功后,将其加入开机启动 [root@typecodes ~]# systemctl enable mysqld #######启动mysql服务进程 [root@typecodes ~]# systemctl start mysqld #######配置mysql(设置密码等) [root@typecodes ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation.
Set root password? [Y/n] y [设置root用户密码] New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y [删除匿名用户] ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y [禁止root远程登录] ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y [删除test数据库] - Dropping test database... ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist ... Failed! Not critical, keep moving... - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y [刷新权限] ... Success! All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! Cleaning up...
4.可能有效的MySQL配置优化
在原始配置文件 /etc/my.cnf 基础上,在 [mysqld] 节内增加配置参数。实际应用中,请按硬件及负载酌情修改。
#add by feng 120418 -------------------------- #skip-locking skip-name-resolve skip-external-locking key_buffer_size = 256M #table_cache = 3072 table_open_cache = 3072 read_buffer_size = 2M read_rnd_buffer_size = 2M sort_buffer_size = 2M myisam_sort_buffer_size = 256M thread_cache_size = 8 query_cache_size= 512M query_cache_limit= 5M tmp_table_size=1024M max_heap_table_size=3000M max_allowed_packet = 16M innodb_buffer_pool_size = 512M innodb_log_file_size = 512M innodb_additional_mem_pool_size=512M innodb_log_buffer_size=64M max_connections=2000 max_user_connections=800 join_buffer_size = 8M open_files_limit = 65535 #tmpdir=/dev/shm max_connect_errors=1000 #add by feng 120418 end ---------------------
以上就是在阿里云的CentOS环境中安装配置MySQL的教程_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!

MySQL和SQLite的主要區別在於設計理念和使用場景:1.MySQL適用於大型應用和企業級解決方案,支持高性能和高並發;2.SQLite適合移動應用和桌面軟件,輕量級且易於嵌入。

MySQL中的索引是數據庫表中一列或多列的有序結構,用於加速數據檢索。 1)索引通過減少掃描數據量提升查詢速度。 2)B-Tree索引利用平衡樹結構,適合範圍查詢和排序。 3)創建索引使用CREATEINDEX語句,如CREATEINDEXidx_customer_idONorders(customer_id)。 4)複合索引可優化多列查詢,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。 5)使用EXPLAIN分析查詢計劃,避

在MySQL中使用事務可以確保數據一致性。 1)通過STARTTRANSACTION開始事務,執行SQL操作後用COMMIT提交或ROLLBACK回滾。 2)使用SAVEPOINT可以設置保存點,允許部分回滾。 3)性能優化建議包括縮短事務時間、避免大規模查詢和合理使用隔離級別。

選擇PostgreSQL而非MySQL的場景包括:1)需要復雜查詢和高級SQL功能,2)要求嚴格的數據完整性和ACID遵從性,3)需要高級空間功能,4)處理大數據集時需要高性能。 PostgreSQL在這些方面表現出色,適合需要復雜數據處理和高數據完整性的項目。

MySQL數據庫的安全可以通過以下措施實現:1.用戶權限管理:通過CREATEUSER和GRANT命令嚴格控制訪問權限。 2.加密傳輸:配置SSL/TLS確保數據傳輸安全。 3.數據庫備份和恢復:使用mysqldump或mysqlpump定期備份數據。 4.高級安全策略:使用防火牆限制訪問,並啟用審計日誌記錄操作。 5.性能優化與最佳實踐:通過索引和查詢優化以及定期維護兼顧安全和性能。

如何有效監控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。 1.使用mysqladmin查看連接數。 2.用SHOWGLOBALSTATUS查看查詢數。 3.PMM提供詳細性能數據和圖形化界面。 4.MySQLEnterpriseMonitor提供豐富的監控功能和報警機制。

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显著差异,选择时需考虑项目规模和未来扩展性。

在需要高可用性、高級安全性和良好集成性的企業級應用場景下,應選擇SQLServer而不是MySQL。 1)SQLServer提供企業級功能,如高可用性和高級安全性。 2)它與微軟生態系統如VisualStudio和PowerBI緊密集成。 3)SQLServer在性能優化方面表現出色,支持內存優化表和列存儲索引。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

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

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版
好用的JavaScript開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

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