第一步:下載
首先去mysql官網下載對應的mysql安裝包:
下載地址:https://dev.mysql.com/downloads/mysql/
第二步:卸載mariadb
通過ftp工具將安裝包放到服務器上:/usr/local/
安裝之前,我們需要將centos自帶的mariadb卸載,mariadb屬於mysql的一個分支,若不卸載就直接安裝的話會報錯。
#rpm -qa | grep mariadb //查看所有mariadb已安裝的模塊
#rpm -e mariadb-libs-5.5.44-1.el7_1.x86_64 //進行卸載
若提示有依賴包,卸載錯誤,則強制卸載:
#rpm -e --nodeps mariadb-libs-5.5.44-1.el7_1.x86_64 //強制卸載
將所有的mariadb安裝包都刪除後,然後開始安裝mysql
第三部:安裝mysql
首先創建mysql組和用戶:
#$groupadd mysql //添加mysql組
#$useradd -r -g mysql mysql //mysql組裏添加mysql用戶,r參數表示mysql用戶是系統用戶,不可用於登錄系統。
解壓安裝包:
# cd /usr/local/ //進入到安裝包路徑
# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz //解壓安裝包
# mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql //將解壓的安裝包更名爲mysql
修改MySQL 數據目錄的 ownership:
# chown -R mysql mysql/
# chgrp -R mysql mysql/
在mysql目錄下新建一個data文件夾:
#cd mysql/
#mkdir -vp data
安裝和初始化數據庫:
# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
/etc/my.cnf是默認的配置文件,默認往往沒有,所以我們需要拷貝下:
#cp -a ./support-files/my-default.cnf /etc/my.cnf
#cp -a ./support-files/mysql.server /etc/init.d/mysqld
#/etc/init.d/mysqld restart 重啓mysql
#chkconfig --level 35 mysqld on //設置開機啓動
查看初始化密碼
#cat /root/.mysql_secret //這個要記住,第一次進入mysql要輸入的
配置環境變量
#vim /etc/profile //在最下面加上:
export PATH=$PATH:/usr/local/mysql/bin
使更改的配置文件生效:
#source /etc/profile
創建連接:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
登陸mysql:
#mysql -uroot -p
輸入前面記住的密碼,進入mysql
進入mysql後更改下root密碼:
mysql> SET PASSWORD = PASSWORD('123456');
mysql> flush privileges; //刷新
配置遠程連接:
mysql> use mysql; //進入mysql數據庫
mysql> grant all privileges on *.* to 'root'@'%' identified by'test1234';//將所有數據庫的所有表(*.*)的所有權限(all privileges),授予通過任何ip(%)訪問的root用戶,密碼爲123456,如果要限制只有某臺機器可以訪問,將其換成相應的IP即可
mysql>flush privileges //刷新
# /etc/init.d/mysqld restart //重啓mysql
以上配置完成後別忘了還要開啓3306端口,不然遠程也是連接不了的
最重要,也是最容易被忽略的:阿里雲服務器開通除22以外的端口,還要去登陸阿里雲安全組申請開通,否則就算服務器本身開通了也是連接不了的
開通端口:centos7跟以前相比使用的是Firewalld防火牆管理工具,不再是iptables
Firewalld增加端口的命令是:
#firewall-cmd --zone=public --add-port=3306/tcp --permanent //permanent永久生效,沒有此參數重啓後失效
不過我用的還是iptables,以下是用iptables開啓端口的方法:
關閉Firewalld:
#systemctl stop firewalld
#systemctl mask firewalld
安裝iptables-services:
#yum -y install iptables-services
修改防火牆配置,增加3306端口:
首先查看是否有這個文件/etc/sysconfig/iptables,如果沒有的話輸入:
#iptables -P OUTPUT ACCEPT
#service iptables save //進行保存,默認就保存到了/etc/sysconfig目錄下的iptables文件中
然後開啓3306端口:
#vim /etc/sysconfig/iptables
在COMMIT上面增加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
不想手動修改也可以直接輸入命令 :
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save //然後保存
查看打開的端口:
#cat /etc/sysconfig/iptables
#systemctl restart iptables.service #重啓防火牆使配置生效
#systemctl enable iptables.service #設置防火牆開機啓動
最後重啓系統使設置生效即可。
測試結果如下圖:
到此,centos7安裝mysql成功!