參考:http://www.waylau.com/centos-7-installation-and-configuration/
yum search libaio # 檢索相關(guān)信息yum install libaio # 安裝依賴包成功安裝,提示如下:
[root@bogon /]# yum install libaio已加載插件:fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirrors.163.com * updates: mirrors.163.com軟件包 libaio-0.3.109-12.el7.x86_64 已安裝并且是最新版本無須任何處理檢查 MySQL 是否已安裝
yum list installed | grep mysql如果有,就先全部卸載,命令如下:
yum -y remove mysql-libs.x86_64若有多個依賴文件則依次卸載。當(dāng)結(jié)果顯示為 Complete!即卸載完畢。
下載
下載 MySQL Yum Repository
地址為 http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
執(zhí)行
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm如果提示-bash: wget: 未找到命令,請先執(zhí)行 yum install wget 安裝 wget
安裝
添加 MySQL Yum Repository
添加 MySQL Yum Repository 到你的系統(tǒng) repository 列表中,執(zhí)行
yum localinstall mysql-community-release-el7-5.noarch.rpm顯示
[root@bogon software]# yum localinstall mysql-community-release-el7-5.noarch.rpm已加載插件:fastestmirror正在檢查 mysql-community-release-el7-5.noarch.rpm: mysql-community-release-el7-5.noarchmysql-community-release-el7-5.noarch.rpm 將被安裝正在解決依賴關(guān)系--> 正在檢查事務(wù)---> 軟件包 mysql-community-release.noarch.0.el7-5 將被 安裝--> 解決依賴關(guān)系完成依賴關(guān)系解決================================================================================ Package 架構(gòu) 版本 源 大小================================================================================正在安裝: mysql-community-release noarch el7-5 /mysql-community-release-el7-5.noarch 4.3 k事務(wù)概要================================================================================安裝 1 軟件包總計:4.3 k安裝大?。?.3 kIs this ok [y/d/N]提示是否 OK ,輸入 y
Is this ok [y/d/N]: yDownloading packages:Running transaction checkRunning transaction testTransaction test succeededRunning transaction 正在安裝 : mysql-community-release-el7-5.noarch 1/1 驗證中 : mysql-community-release-el7-5.noarch 1/1已安裝: mysql-community-release.noarch 0:el7-5完畢!提示“完成!”,則說明 源添加成功。
驗證下是否添加成功
yum repolist enabled | grep "mysql.*-community.*"可以看到下面內(nèi):
[root@bogon software]# yum repolist enabled | grep "mysql.*-community.*"mysql-connectors-community/x86_64 MySQL Connectors Community 1mysql-tools-community/x86_64 MySQL Tools Community 1mysql56-community/x86_64 MySQL 5.6 Community Server 13選擇要啟用 MySQL 版本
查看 MySQL 版本,執(zhí)行
yum repolist all | grep mysql可以看到 5.5, 5.7 版本是默認禁用的,因為現(xiàn)在最新的穩(wěn)定版是 5.6
[root@bogon software]# yum repolist all | grep mysqlmysql-connectors-community/x86_64 MySQL Connectors Community 啟用: 14mysql-connectors-community-source MySQL Connectors Community - Sourc 禁用mysql-tools-community/x86_64 MySQL Tools Community 啟用: 17mysql-tools-community-source MySQL Tools Community - Source 禁用mysql55-community/x86_64 MySQL 5.5 Community Server 禁用mysql55-community-source MySQL 5.5 Community Server - Sourc 禁用mysql56-community/x86_64 MySQL 5.6 Community Server 啟用: 139mysql56-community-source MySQL 5.6 Community Server - Sourc 禁用mysql57-community-dmr/x86_64 MySQL 5.7 Community Server Develop 禁用mysql57-community-dmr-source MySQL 5.7 Community Server Develop 禁用可以通過類似下面的語句來啟動某些版本
yum-config-manager --disable mysql56-communityyum-config-manager --enable mysql57-community-dmr或者通過修改 /etc/yum.repos.d/mysql-community.repo 文件
# Enable to use MySQL 5.6[mysql56-community]name=MySQL 5.6 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql其中 enabled=0 是指禁用,enabled=1 指啟用。
注意: 任何時候,只能啟用一個版本。
執(zhí)行
yum repolist enabled | grep mysql查看當(dāng)前的啟動的 MySQL 版本
[root@bogon software]# yum repolist enabled | grep mysqlmysql-connectors-community/x86_64 MySQL Connectors Community 14mysql-tools-community/x86_64 MySQL Tools Community 17mysql56-community/x86_64 MySQL 5.6 Community Server 139本例,我們啟用的是 5.6 版本。
通過 Yum 來安裝 MySQL
執(zhí)行
yum install mysql-community-server Yum 會自動處理 MySQL 與其他組件的依賴關(guān)系:
[root@bogon software]# yum install mysql-community-server已加載插件:fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.yun-idc.com * extras: mirrors.163.com * updates: mirrors.163.com正在解決依賴關(guān)系--> 正在檢查事務(wù)---> 軟件包 mysql-community-server.x86_64.0.5.6.24-3.el7 將被 安裝--> 正在處理依賴關(guān)系 mysql-community-common(x86-64) = 5.6.24-3.el7,它被軟件包 m ysql-community-server-5.6.24-3.el7.x86_64 需要--> 正在處理依賴關(guān)系 mysql-community-client(x86-64) = 5.6.24-3.el7,它被軟件包 m ysql-community-server-5.6.24-3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(warnings),它被軟件包 mysql-community-server-5.6.24-3. el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(strict),它被軟件包 mysql-community-server-5.6.24-3.el 7.x86_64 需要--> 正在處理依賴關(guān)系 perl(if),它被軟件包 mysql-community-server-5.6.24-3.el7.x8 6_64 需要--> 正在處理依賴關(guān)系 perl(Sys::Hostname),它被軟件包 mysql-community-server-5.6. 24-3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(POSIX),它被軟件包 mysql-community-server-5.6.24-3.el7 .x86_64 需要--> 正在處理依賴關(guān)系 perl(Getopt::Long),它被軟件包 mysql-community-server-5.6.2 4-3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(File::Temp),它被軟件包 mysql-community-server-5.6.24- 3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(File::Spec),它被軟件包 mysql-community-server-5.6.24- 3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(File::Path),它被軟件包 mysql-community-server-5.6.24- 3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(File::Copy),它被軟件包 mysql-community-server-5.6.24- 3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(File::Basename),它被軟件包 mysql-community-server-5.6 .24-3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(Fcntl),它被軟件包 mysql-community-server-5.6.24-3.el7 .x86_64 需要--> 正在處理依賴關(guān)系 perl(Data::Dumper),它被軟件包 mysql-community-server-5.6.2 4-3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(DBI),它被軟件包 mysql-community-server-5.6.24-3.el7.x 86_64 需要--> 正在處理依賴關(guān)系 net-tools,它被軟件包 mysql-community-server-5.6.24-3.el7.x 86_64 需要--> 正在處理依賴關(guān)系 /usr/bin/perl,它被軟件包 mysql-community-server-5.6.24-3.e l7.x86_64 需要--> 正在檢查事務(wù)---> 軟件包 mysql-community-client.x86_64.0.5.6.24-3.el7 將被 安裝--> 正在處理依賴關(guān)系 mysql-community-libs(x86-64) = 5.6.24-3.el7,它被軟件包 mys ql-community-client-5.6.24-3.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(Exporter),它被軟件包 mysql-community-client-5.6.24-3. el7.x86_64 需要---> 軟件包 mysql-community-common.x86_64.0.5.6.24-3.el7 將被 安裝---> 軟件包 net-tools.x86_64.0.2.0-0.17.20131004git.el7 將被 安裝---> 軟件包 perl.x86_64.4.5.16.3-285.el7 將被 安裝--> 正在處理依賴關(guān)系 perl-libs = 4:5.16.3-285.el7,它被軟件包 4:perl-5.16.3-285. el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(Socket) >= 1.3,它被軟件包 4:perl-5.16.3-285.el7.x86_6 4 需要--> 正在處理依賴關(guān)系 perl(Scalar::Util) >= 1.10,它被軟件包 4:perl-5.16.3-285.el 7.x86_64 需要--> 正在處理依賴關(guān)系 perl-macros,它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl-libs,它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(threads::shared),它被軟件包 4:perl-5.16.3-285.el7.x86 _64 需要--> 正在處理依賴關(guān)系 perl(threads),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(constant),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需 要--> 正在處理依賴關(guān)系 perl(Time::Local),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(Time::HiRes),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(Storable),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需 要--> 正在處理依賴關(guān)系 perl(Socket),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(Scalar::Util),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(Pod::Simple::XHTML),它被軟件包 4:perl-5.16.3-285.el7. x86_64 需要--> 正在處理依賴關(guān)系 perl(Pod::Simple::Search),它被軟件包 4:perl-5.16.3-285.el7 .x86_64 需要--> 正在處理依賴關(guān)系 perl(Filter::Util::Call),它被軟件包 4:perl-5.16.3-285.el7. x86_64 需要--> 正在處理依賴關(guān)系 perl(Carp),它被軟件包 4:perl-5.16.3-285.el7.x86_64 需要--> 正在處理依賴關(guān)系 libperl.so()(64bit),它被軟件包 4:perl-5.16.3-285.el7.x86_6 4 需要---> 軟件包 perl-DBI.x86_64.0.1.627-4.el7 將被 安裝--> 正在處理依賴關(guān)系 perl(RPC::PlServer) >= 0.2001,它被軟件包 perl-DBI-1.627-4. el7.x86_64 需要--> 正在處理依賴關(guān)系 perl(RPC::PlClient) >= 0.2000,它被軟件包 perl-DBI-1.627-4. el7.x86_64 需要---> 軟件包 perl-Data-Dumper.x86_64.0.2.145-3.el7 將被 安裝---> 軟件包 perl-File-Path.noarch.0.2.09-2.el7 將被 安裝---> 軟件包 perl-File-Temp.noarch.0.0.23.01-3.el7 將被 安裝---> 軟件包 perl-Getopt-Long.noarch.0.2.40-2.el7 將被 安裝--> 正在處理依賴關(guān)系 perl(Pod::Usage) >= 1.14,它被軟件包 perl-Getopt-Long-2.40- 2.el7.noarch 需要--> 正在處理依賴關(guān)系 perl(Text::ParseWords),它被軟件包 perl-Getopt-Long-2.40-2. el7.noarch 需要---> 軟件包 perl-PathTools.x86_64.0.3.40-5.el7 將被 安裝--> 正在檢查事務(wù)---> 軟件包 mariadb-libs.x86_64.1.5.5.41-2.el7_0 將被 取代---> 軟件包 mysql-community-libs.x86_64.0.5.6.24-3.el7 將被 舍棄---> 軟件包 perl-Carp.noarch.0.1.26-244.el7 將被 安裝---> 軟件包 perl-Exporter.noarch.0.5.68-3.el7 將被 安裝---> 軟件包 perl-Filter.x86_64.0.1.49-3.el7 將被 安裝---> 軟件包 perl-PlRPC.noarch.0.0.2020-14.el7 將被 安裝--> 正在處理依賴關(guān)系 perl(Net::Daemon) >= 0.13,它被軟件包 perl-PlRPC-0.2020-14. el7.noarch 需要--> 正在處理依賴關(guān)系 perl(Net::Daemon::Test),它被軟件包 perl-PlRPC-0.2020-14.el 7.noarch 需要--> 正在處理依賴關(guān)系 perl(Net::Daemon::Log),它被軟件包 perl-PlRPC-0.2020-14.el7 .noarch 需要--> 正在處理依賴關(guān)系 perl(ComPRess::Zlib),它被軟件包 perl-PlRPC-0.2020-14.el7.n oarch 需要---> 軟件包 perl-Pod-Simple.noarch.1.3.28-4.el7 將被 安裝--> 正在處理依賴關(guān)系 perl(Pod::Escapes) >= 1.04,它被軟件包 1:perl-Pod-Simple-3. 28-4.el7.noarch 需要--> 正在處理依賴關(guān)系 perl(Encode),它被軟件包 1:perl-Pod-Simple-3.28-4.el7.noarc h 需要---> 軟件包 perl-Pod-Usage.noarch.0.1.63-3.el7 將被 安裝--> 正在處理依賴關(guān)系 perl(Pod::Text) >= 3.15,它被軟件包 perl-Pod-Usage-1.63-3.e l7.noarch 需要--> 正在處理依賴關(guān)系 perl-Pod-Perldoc,它被軟件包 perl-Pod-Usage-1.63-3.el7.noar ch 需要---> 軟件包 perl-Scalar-List-Utils.x86_64.0.1.27-248.el7 將被 安裝---> 軟件包 perl-Socket.x86_64.0.2.010-3.el7 將被 安裝---> 軟件包 perl-Storable.x86_64.0.2.45-3.el7 將被 安裝---> 軟件包 perl-Text-ParseWords.noarch.0.3.29-4.el7 將被 安裝---> 軟件包 perl-Time-HiRes.x86_64.4.1.9725-3.el7 將被 安裝---> 軟件包 perl-Time-Local.noarch.0.1.2300-2.el7 將被 安裝---> 軟件包 perl-constant.noarch.0.1.27-2.el7 將被 安裝---> 軟件包 perl-libs.x86_64.4.5.16.3-285.el7 將被 安裝---> 軟件包 perl-macros.x86_64.4.5.16.3-285.el7 將被 安裝---> 軟件包 perl-threads.x86_64.0.1.87-4.el7 將被 安裝---> 軟件包 perl-threads-shared.x86_64.0.1.43-6.el7 將被 安裝--> 正在檢查事務(wù)---> 軟件包 perl-Encode.x86_64.0.2.51-7.el7 將被 安裝---> 軟件包 perl-IO-Compress.noarch.0.2.061-2.el7 將被 安裝--> 正在處理依賴關(guān)系 perl(Compress::Raw::Zlib) >= 2.061,它被軟件包 perl-IO-Comp ress-2.061-2.el7.noarch 需要--> 正在處理依賴關(guān)系 perl(Compress::Raw::Bzip2) >= 2.061,它被軟件包 perl-IO-Com press-2.061-2.el7.noarch 需要---> 軟件包 perl-Net-Daemon.noarch.0.0.48-5.el7 將被 安裝---> 軟件包 perl-Pod-Escapes.noarch.1.1.04-285.el7 將被 安裝---> 軟件包 perl-Pod-Perldoc.noarch.0.3.20-4.el7 將被 安裝--> 正在處理依賴關(guān)系 perl(parent),它被軟件包 perl-Pod-Perldoc-3.20-4.el7.noarch 需要--> 正在處理依賴關(guān)系 perl(HTTP::Tiny),它被軟件包 perl-Pod-Perldoc-3.20-4.el7.no arch 需要---> 軟件包 perl-podlators.noarch.0.2.5.1-3.el7 將被 安裝--> 正在檢查事務(wù)---> 軟件包 perl-Compress-Raw-Bzip2.x86_64.0.2.061-3.el7 將被 安裝---> 軟件包 perl-Compress-Raw-Zlib.x86_64.1.2.061-4.el7 將被 安裝---> 軟件包 perl-HTTP-Tiny.noarch.0.0.033-3.el7 將被 安裝---> 軟件包 perl-parent.noarch.1.0.225-244.el7 將被 安裝--> 解決依賴關(guān)系完成依賴關(guān)系解決================================================================================ Package 架構(gòu) 版本 源 大小================================================================================正在安裝: mysql-community-libs x86_64 5.6.24-3.el7 mysql56-community 2.0 M 替換 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為依賴而安裝: mysql-community-client x86_64 5.6.24-3.el7 mysql56-community 19 M mysql-community-common x86_64 5.6.24-3.el7 mysql56-community 256 k net-tools x86_64 2.0-0.17.20131004git.el7 base 304 k perl x86_64 4:5.16.3-285.el7 base 8.0 M perl-Carp noarch 1.26-244.el7 base 19 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-Data-Dumper x86_64 2.145-3.el7 base 47 k perl-Encode x86_64 2.51-7.el7 base 1.5 M perl-Exporter noarch 5.68-3.el7 base 28 k perl-File-Path noarch 2.09-2.el7 base 26 k perl-File-Temp noarch 0.23.01-3.el7 base 56 k perl-Filter x86_64 1.49-3.el7 base 76 k perl-Getopt-Long noarch 2.40-2.el7 base 56 k perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0.48-5.el7 base 51 k perl-PathTools x86_64 3.40-5.el7 base 82 k perl-PlRPC noarch 0.2020-14.el7 base 36 k perl-Pod-Escapes noarch 1:1.04-285.el7 base 50 k perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k perl-Pod-Usage noarch 1.63-3.el7 base 27 k perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k perl-Socket x86_64 2.010-3.el7 base 49 k perl-Storable x86_64 2.45-3.el7 base 77 k perl-Text-ParseWords noarch 3.29-4.el7 base 14 k perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k perl-Time-Local noarch 1.2300-2.el7 base 24 k perl-constant noarch 1.27-2.el7 base 19 k perl-libs x86_64 4:5.16.3-285.el7 base 687 k perl-macros x86_64 4:5.16.3-285.el7 base 42 k perl-parent noarch 1:0.225-244.el7 base 12 k perl-podlators noarch 2.5.1-3.el7 base 112 k perl-threads x86_64 1.87-4.el7 base 49 k perl-threads-shared x86_64 1.43-6.el7 base 39 k事務(wù)概要================================================================================安裝 2 軟件包 (+37 依賴軟件包)總下載量:92 MIs this ok [y/d/N]:輸入 y 繼續(xù)下載相關(guān)文件;
--------------------------------------------------------------------------------總計 1.1 MB/s | 92 MB 01:24從 file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 檢索密鑰導(dǎo)入 GPG key 0x5072E1F5: 用戶ID : "MySQL Release Engineering <mysql-build@oss.Oracle.com>" 指紋 : a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5 軟件包 : mysql-community-release-el7-5.noarch (@/mysql-community-release-el7-5.noarch) 來自 : file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql是否繼續(xù)?[y/N]:遇到上述提示,輸入 y 繼續(xù),執(zhí)行完成會提示“完畢!”。此時MySQL 安裝完成,它包含了 mysql-community-server、mysql-community-client、mysql-community-common、mysql-community-libs 四個包。
執(zhí)行
rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7執(zhí)行
whereis mysql可以看到 MySQL 的安裝目錄是 /usr/bin/
[root@localhost ~]# whereis mysqlmysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz啟動和關(guān)閉 MySQL Server
啟動 MySQL Server
systemctl start mysqld查看 MySQL Server 狀態(tài)
systemctl status mysqld關(guān)閉 MySQL Server
systemctl stop mysqld測試是否安裝成功
mysql可以進入 mysql 命令行界面
[root@bogon software]# mysqlWelcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 2Server version: 5.6.24 MySQL Community Server (GPL)Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.mysql>防火墻設(shè)置
遠程訪問 MySQL, 需開放默認端口號 3306.
方式1:iptables(CentOS 7.x版本之前用法,不推薦)
打開 iptables 的配置文件:
vi /etc/sysconfig/iptables修改
*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT在里面加入這2行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 3306 -j ACCEPT改為
*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 3306 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT如果該 iptables 配置文件 不存在,先執(zhí)行 yum install iptables-services 安裝
執(zhí)行 iptables 重啟生效
service iptables restart方式2:firewall-cmd(推薦)
執(zhí)行
firewall-cmd --permanent --zone=public --add-port=3306/tcpfirewall-cmd --permanent --zone=public --add-port=3306/udp這樣就開放了相應(yīng)的端口。
執(zhí)行
firewall-cmd --reload 使最新的防火墻設(shè)置規(guī)則生效。
MySQL 安全設(shè)置
服務(wù)器啟動后,可以執(zhí)行
mysql_secure_installation;看到如下提示
[root@bogon software]# mysql_secure_installationNOTE: 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 currentpassword for the root user. If you've just installed MySQL, andyou 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):此時輸入 root 原始密碼(初始化安裝的話為空),接下來,為了安全,MySQL 會提示你重置 root 密碼,移除其他用戶賬號,禁用 root 遠程登錄,移除 test 數(shù)據(jù)庫,重新加載 privilege 表格等,你只需輸入 y 繼續(xù)執(zhí)行即可。
OK, successfully used password, moving on...Setting the root password ensures that nobody can log into the MySQLroot user without the proper authorisation.Set root password? [Y/n] yNew password:Re-enter new password:Password updated successfully!Reloading privilege tables.. ... Success!By default, a MySQL installation has an anonymous user, allowing anyoneto log into MySQL without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n] y ... Success!Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] y ... Success!By default, MySQL comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] y - 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 farwill take effect immediately.Reload privilege tables now? [Y/n] y ... Success!All done! If you've completed all of the above steps, your MySQLinstallation should now be secure.Thanks for using MySQL!Cleaning up...至此,整個 MySQL 安裝完成。
遠程訪問設(shè)置
創(chuàng)建一個普通用戶 sa ,密碼是 some_pass
CREATE USER 'sa'@'%' IDENTIFIED BY 'some_pass';給這個用戶授予 SELECT,INSERT,UPDATE,DELETE 的遠程訪問的權(quán)限,這個賬號一般用于提供給實施的系統(tǒng)訪問
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'sa'@'%';創(chuàng)建一個管理員用戶 admin 賬號 ,密碼是 some_pass
CREATE USER 'admin'@'%' IDENTIFIED BY 'some_pass';給這個用戶授予所有的遠程訪問的權(quán)限。這個用戶主要用于管理整個數(shù)據(jù)庫、備份、還原等操作。
GRANT ALL ON *.* TO 'admin'@'%';使授權(quán)立刻生效
flush privileges;更改數(shù)據(jù)存放目錄
創(chuàng)建數(shù)據(jù)存放目錄
home 目錄下建立 data 目錄
mkdir /home/data把 MySQL 服務(wù)進程停掉
如果 MySQL 是啟動的,要先關(guān)閉
mysqladmin -u root -p shutdown移動數(shù)據(jù)到數(shù)據(jù)存放目錄
/var/lib/mysql 整個目錄移到 /home/data,執(zhí)行
mv /var/lib/mysql /home/data這樣就把 MySQL 的數(shù)據(jù)文件移動到了 /home/data/mysql 下
修改 /etc/my.cnf 文件,
[mysqld] datadir=/home/data/mysqlsocket=/home/data/mysql/mysql.sock[mysql] socket=/home/data/mysql/mysql.sock修改權(quán)限
chown -R mysql:mysql /home/data/mysql重啟后,如果不能啟動 MySQL 服務(wù),執(zhí)行
vi /etc/sysconfig/selinux調(diào)整
SELINUX=permissive保存設(shè)置,執(zhí)行 reboot 重啟生效
開機自起
查看 MySQL 服務(wù)是否開機啟動
[root@localhost ~]# systemctl is-enabled mysql.service;echo $?enabled0如果是 enabled 則說明是開機自動,如果不是,執(zhí)行
chkconfig --levels 235 mysqld on設(shè)置字符集
一般的,為了支持中文,我們應(yīng)該講字符集設(shè)為 UTF-8, 執(zhí)行
SHOW VARIABLES LIKE 'character%';查看當(dāng)前 MySQL 字符集
mysql> SHOW VARIABLES LIKE 'character%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | latin1 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+8 rows in set (0.00 sec)可以看到默認服務(wù)器的字符器是 latin1 ,對中文不友好。修改 /etc/my.cnf 文件,添加字符集的設(shè)置
[mysqld] character_set_server = utf8[mysql]default-character-set = utf8重啟 MySQL ,可以看到字符集已經(jīng)修改了
mysql> SHOW VARIABLES LIKE 'character%' -> ;+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+8 rows in set (0.00 sec)其他常用配置配置
調(diào)整 MySQL 運行參數(shù),修改 /etc/my.cnf 文件,常用配置如下:
[mysqld] basedir = path # 使用給定目錄作為根目錄(安裝目錄)。datadir = path # 從給定目錄讀取數(shù)據(jù)庫文件。pid-file = filename # 為mysqld程序指定一個存放進程ID的文件(僅適用于UNIX/Linux系統(tǒng));socket = /tmp/mysql.sock # 為MySQL客戶程序與服務(wù)器之間的本地通信指定一個套接字文件(Linux下默認是/var/lib/mysql/mysql.sock文件)port = 3306 # 指定MsSQL偵聽的端口key_buffer = 384M # key_buffer是用于索引塊的緩沖區(qū)大小,增加它可得到更好處理的索引(對所有讀和多重寫)。 索引塊是緩沖的并且被所有的線程共享,key_buffer的大小視內(nèi)存大小而定。table_cache = 512 # 為所有線程打開表的數(shù)量。增加該值能增加mysqld要求的文件描述符的數(shù)量??梢员苊忸l繁的打開數(shù)據(jù)表產(chǎn)生的開銷sort_buffer_size = 2M # 每個需要進行排序的線程分配該大小的一個緩沖區(qū)。增加這值加速ORDER BY或GROUP BY操作。 注意:該參數(shù)對應(yīng)的分配內(nèi)存是每連接獨占!如果有100個連接,那么實際分配的總共排序緩沖區(qū)大小為100×6=600MBread_buffer_size = 2M # 讀查詢操作所能使用的緩沖區(qū)大小。和sort_buffer_size一樣,該參數(shù)對應(yīng)的分配內(nèi)存也是每連接獨享。query_cache_size = 32M # 指定MySQL查詢結(jié)果緩沖區(qū)的大小read_rnd_buffer_size = 8M # 改參數(shù)在使用行指針排序之后,隨機讀用的。myisam_sort_buffer_size =64M # MyISAM表發(fā)生變化時重新排序所需的緩沖thread_concurrency = 8 # 最大并發(fā)線程數(shù),取值為服務(wù)器邏輯CPU數(shù)量×2,如果CPU支持H.T超線程,再×2thread_cache = 8 # #緩存可重用的線程數(shù)skip-locking # 避免MySQL的外部鎖定,減少出錯幾率增強穩(wěn)定性。[mysqldump]max_allowed_packet =16M # 服務(wù)器和客戶端之間最大能發(fā)送的可能信息包[myisamchk]key_buffer = 256Msort_buffer = 256Mread_buffer = 2Mwrite_buffer = 2M其他可選參數(shù):
back_log = 384
指定MySQL可能的連接數(shù)量。 當(dāng)MySQL主線程在很短時間內(nèi)接收到非常多的連接請求,該參數(shù)生效,主線程花費很短時間檢查連接并且啟動一個新線程。 back_log參數(shù)的值指出在MySQL暫時停止響應(yīng)新請求之前的短時間內(nèi)多少個請求可以被存在堆棧中。 如果系統(tǒng)在一個短時間內(nèi)有很多連接,則需要增大該參數(shù)的值,該參數(shù)值指定到來的TCP/IP連接的偵聽隊列的大小。 試圖設(shè)定back_log高于你的操作系統(tǒng)的限制將是無效的。默認值為50。對于Linux系統(tǒng)推薦設(shè)置為小于512的整數(shù)。
max_connections = n
MySQL服務(wù)器同時處理的數(shù)據(jù)庫連接的最大數(shù)量(默認設(shè)置是100)。超過限制后會報 Too many connections 錯誤
key_buffer_size = n
用來存放索引區(qū)塊的RMA值(默認設(shè)置是8M),增加它可得到更好處理的索引(對所有讀和多重寫)
record_buffer:
每個進行一個順序掃描的線程為其掃描的每張表分配這個大小的一個緩沖區(qū)。 如果你做很多順序掃描,你可能想要增加該值。默認數(shù)值是131072(128K)
wait_timeout:
服務(wù)器在關(guān)閉它之前在一個連接上等待行動的秒數(shù)。
interactive_timeout:
服務(wù)器在關(guān)閉它前在一個交互連接上等待行動的秒數(shù)。 一個交互的客戶被定義為對 mysql_real_connect()使用 CLIENT_INTERACTIVE 選項的客戶。 默認數(shù)值是28800,可以把它改為3600。
skip-name-resolve
禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。 但需要注意,如果開啟該選項,則所有遠程主機連接授權(quán)都要使用IP地址方式,否則MySQL將無法正常處理連接請求!
log-slow-queries = slow.log
記錄慢查詢,然后對慢查詢一一優(yōu)化
skip-innodb
skip-bdb
關(guān)閉不需要的表類型,如果你需要,就不要加上這個
備份、還原
方法1:命令行
備份
mysqldump --socket=/home/data/mysql/mysql.sock --single-transaction=TRUE -u root -p emsc > emsc.sql還原
mysql --socket=/home/data/mysql/mysql.sock -u root -p emsc < emsc.sql方法2:Workbench
備份

還原

參考
http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.htmlhttp://dev.mysql.com/doc/refman/5.6/en/mysql-secure-installation.htmlhttp://dev.mysql.com/doc/refman/5.6/en/server-default-configuration-file.htmlhttp://dev.mysql.com/doc/refman/5.6/en/option-files.htmlhttps://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html原文地址:http://www.centoscn.com/mysql/2016/0315/6844.html
新聞熱點
疑難解答
圖片精選