1.環境:Centos7.4node
2.卸載MariaDB(CentOS7 默認自帶)mysql
注:必定要將mariaDB包和自帶mysql包卸載乾淨,不然安裝時出現各類奇妙錯誤,致使失敗。sql
#rpm -qa | grep -i mariadb
數據庫
#rpm -e --nodeps 強制刪除mariadb的全部相關軟件包bash
#find / -iname mariadb或者whereis mariadb 查找是否有相關配置目錄及文件,若有,則 rm -rf 刪除
tcp
3.卸載已有MySQL
ide
//卸載舊版本的Mysql rpm -qa | grep -i mysql //查看有沒有安裝mysql rpm -e MySQL-client-5.6.38-1.el7.x86_64 //若是有,卸載舊版本Mysql及相關依賴包 //刪除服務 chkconfig --list | grep -i mysql //查看服務 chkconfig --del mysql //刪除服務 //刪除mysql分散的文件夾 whereis mysql //查出相應的mysql文件夾,也能夠用find / -name *mysql* rm -rf /use/lib/mysql //刪除
4.安裝依賴
注:先裝好依賴,再裝mysql。即便順序出錯,裝完依賴必定要卸載mysql並從新裝mysql,不然mysql裝上了也會出現各類錯誤。
ui
#rpm -ivh m4-1.4.16-10.el7.x86_64.rpm
spa
#rpm -ivh perl*(ISO鏡像裏有,掛載鏡像,作個本地yum源便可安裝)3d
#rpm -qa |grep perl-Data-Dumper (如無perl-Data-Dumper依賴包,則上網下載perl-Data-Dumper-2.145-3.el7.x86_64並安裝)
#rpm -ivh autoconf-2.69-11.el7.noarch
5.下載MySQL: https://dev.mysql.com/downloads/mysql/
6.增長MySQL組
#cat /etc/group |grep mysql #cat /etc/passwd |grep mysql //檢查mysql用戶及組是否存在,若是沒有執行下面命令
#groupadd mysql //建立組
#useradd -r -g mysql mysql //建立用戶並把該用戶加入到組mysql,這裏的 -r是指該用戶是內部用戶,不容許外部登陸
#passwd mysql //給用戶mysql設置密碼,須要輸入2次
7.安裝MySQL
解壓mysql
#tar -xvf MySQL-5.6.38-1.el7.x86_64.rpm-bundle.tar //注意,是-xvf不是-zxvf
a.安裝mysql
#rpm -ivh MySQL-client-5.6.38-1.el7.x86_64.rpm //-i是安裝,-v是列出更多詳細信息,-h是在安裝時列出hash標記
#rpm -ivh MySQL-devel-5.6.38-1.el7.x86_64.rpm
#rpm -ivh MySQL-server-5.6.38-1.el7.x86_64.rpm
# cp /usr/share/mysql/my-default.cnf /etc/my.cnf /設置字符集,鏈接數等相關參數
b.修改mysql用戶密碼
# /usr/bin/mysql_install_db
//初始化
service mysql status //查看mysql服務狀態 //若是是開啓服務狀態,用service mysql stop關閉服務
mysqld_safe --user=root --skip-grant-tables --skip-networking & //繞過密碼登陸,mysql未啓動前設置
mysql -u root -p //登陸
use mysql //切換數據庫
select Host,User,Password from user; //查詢用戶
UPDATE user SET password=password("root") WHERE user='root'; //修改密碼
quit //退出
#service mysql restart //重啓mysql服務
#mysql -u root -proot // -proot,p表明password,root是密碼
>use mysql //切換數據庫
>set password = password('root'); //第一次登錄必須修改mysql密碼
>flush privileges; //刷新權限
//賦予任何主機訪問數據的權限(遠程訪問)
>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
>flush privileges;//刷新權限
>quit //退出
# mysql service mysql restart //重啓mysql
c.讓防火牆開放開3306端口(Centos7以上是由firewall來管理的)
//查看firewall狀態(runing:運行,not runing:沒有運行),若是沒有運行,用systemctl start firewalld啓動
firewall-cmd --state
firewall-cmd --permanent --zone=public --add-port=3306/tcp //添加3306端口
firewall-cmd --reload //從新加載firewall
d.設置mysql開機啓動
#chkconfig --list mysql //查看mysql服務
#chkconfig mysqld on //開啓MySQL服務自動開啓命令
#chkconfig mysql on //開啓MySQL服務自動開啓命令