1. 程式人生 > >mysql 5.7下載,安裝與解除安裝(帶shell,python指令碼)

mysql 5.7下載,安裝與解除安裝(帶shell,python指令碼)

實驗環境:CentOS 6.5

一:下載軟體

--個人機器為:CentosOS,64

--請選擇適合自己機器的,進行下載,這裡選擇了64位的.


點選‘Download’進行下載.

二:上傳軟體包到linux下

利用xmanager的傳輸工具或者rz命令上傳即可。

這裡上傳至/download下。

三:安裝mysql

#1 建使用者

groupadd mysql

useradd -g mysqlmysql 

#2 安裝軟體包

yum install libaio –y

#3解壓

cd /download

tar -xvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

#複製解壓後的mysql目錄到系統的本地軟體目錄:

cp mysql-5.7.9-linux-glibc2.5-x86_64/usr/local/mysql –r

chown -R mysql:mysql /usr/local/mysql

#4新建目錄

mkdir -p /data/server/mysql_3307/data

mkdir -p /data/server/mysql_3307/binlog

chown -R mysql:mysql /data/server/mysql_3307/

#5新建配置檔案

vi /data/server/mysql_3307/my.cnf

新增:

[mysqld]
basedir=/usr/local/mysql/
datadir=/data/server/mysql_3307/data
log-bin=/data/server/mysql_3307/binlog/mysql-bin
log-bin-index=/data/server/mysql_3307/binlog/binlog.index
server-id=1
port=3307
socket=/tmp/mysql.sock
user=mysql
# Disabling symbolic-links is recommendedto prevent assorted security risks
symbolic-links=0
 
[mysqld_safe]
log-error=/data/server/mysql_3307/mysqld.err
pid-file=/data/server/mysql_3307/mysqld.pid

#6建立基本庫

[[email protected] lib64]#/usr/local/mysql/bin/mysqld --defaults-file=/data/server/mysql_3307/my.cnf--user=mysql --basedir=/usr/local/mysql --datadir=/data/server/mysql_3307/data--initialize
2015-12-29T20:22:07.802133Z 0[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use--explicit_defaults_for_timestamp server option (see documentation for moredetails).
2015-12-29T20:22:11.367232Z 0[Warning] InnoDB: New log files created, LSN=45790
2015-12-29T20:22:11.853369Z 0[Warning] InnoDB: Creating foreign key constraint system tables.
2015-12-29T20:22:12.047447Z 0[Warning] No existing UUID has been found, so we assume that this is the firsttime that this server has been started. Generating a new UUID:d7d42b4c-ae69-11e5-b9ad-080027040516.
2015-12-29T20:22:12.062352Z 0[Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed'cannot be opened.
2015-12-29T20:22:12.074694Z 1 [Note] A temporary password isgenerated for 
[email protected]
: ZlfXU+CWD6H: mysql 5.7中為root設定為一個預設密碼,這裡是ZlfXU+CWD6H:

#7 設定開機自動啟動

chkconfig --add mysql

chkconfig mysql on

#8 配置PATH


#root使用者

vi /root/.bash_profile

PATH=$PATH:$HOME/bin後新增:/usr/local/mysql/bin

source /root/.bash_profile

#mysql使用者省略

#9 啟動資料庫

mysqld_safe --defaults-file=/data/server/mysql_3307/my.cnf &

#10 修改使用者密碼

[[email protected] ~]# mysqladmin -u root -ppassword

Enter password:

New password:

Confirm new password:

#11 開放防火牆埠

#開放3307埠,修改檔案/etc/sysconfig/iptables

插入到這一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT後面-AINPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT

service iptables restart

netstat -ntpl (檢視TCP型別的埠

[[email protected] download]# netstat -ntpl

Active Internet connections (onlyservers)

Proto Recv-Q Send-Q LocalAddress               ForeignAddress             State       PID/Program name  

tcp        0     0 0.0.0.0:22                 0.0.0.0:*                   LISTEN      3506/sshd          

tcp        0     0 127.0.0.1:25               0.0.0.0:*                   LISTEN      906/master         

tcp        0     0 :::3307                     :::*                        LISTEN      11813/mysqld       

tcp        0     0 :::22                      :::*                        LISTEN      3506/sshd          

tcp        0     0 ::1:25                     :::*                        LISTEN      906/master     

四 shell指令碼

將安裝步驟整理成shell指令碼。

1:安裝指令碼

[[email protected] download]# cat install_mysql_5.7.sh
#執行該指令碼命令:sh install_mysql_5.7.sh > /download/install_mysql_5.7.log
#記得先將mysql安裝包上傳至$dir目錄下


#定義目錄
basedir='/usr/local/mysql'
       
mysqldir='/data/server/mysql_3307'  
       
datadir=$mysqldir/data
       
binlogdir=$mysqldir/binlog
     
cnf=/etc/my.cnf


dir='/download'


socket='/tmp/mysql.sock'


port='3307'


filename='mysql-5.7.9-linux-glibc2.5-x86_64'


password='[email protected]'


#建使用者
groupadd mysql 
useradd -g mysql mysql
       
#安裝依賴包 
yum install libaio -y
      
#解壓
cd $dir  
tar -xvf $filename.tar.gz
      
#拷貝解壓後的mysql目錄到系統的本地軟體目錄:
cp $filename $basedir -r
chown -R mysql:mysql $basedir


#新建目錄
mkdir -p $datadir 
mkdir -p $binlogdir 
chown -R  mysql:mysql $mysqldir


#新建配置檔案
mv $cnf /etc/my.cnf_bak
touch $cnf


#往該配置檔案中寫資料
echo [mysqld] >> $cnf
echo basedir=${basedir} >> $cnf
echo datadir=${datadir} >> $cnf
echo log-bin=${binlogdir}/mysql-bin >> $cnf 
echo log-bin-index=${binlogdir}/binlog.index >> $cnf
echo server-id=1 >> $cnf
echo port=${port} >> $cnf
echo socket=${socket} >> $cnf
echo user=mysql >> $cnf
# Disabling symbolic-links is recommended to prevent assorted security risks
echo symbolic-links=0 >> $cnf


echo [mysqld_safe] >> $cnf
echo log-error=${mysqldir}/mysqld.err >> $cnf
echo pid-file=${mysqldir}/mysqld.pid >> $cnf




#建立基本庫
$basedir/bin/mysqld --defaults-file=$cnf --user=mysql --basedir=$basedir --datadir=$datadir --initialize


#設定開機自動啟動
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql


chmod +x /etc/rc.d/init.d/mysql


chkconfig --add mysql


chkconfig mysql on


#配置PATH
#root使用者
sed -i '/^PATH=/s/$/:\/usr\/local\/mysql\/bin/' /root/.bash_profile
source /root/.bash_profile


#mysql使用者
sed -i '/^PATH=/s/$/:\/usr\/local\/mysql\/bin/' /home/mysql/.bash_profile
source /home/mysql/.bash_profile
#啟動資料庫


service mysql start


#開放防火牆埠
#開放3306埠,插入到這一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT後面
sed -i '/-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT/s/$/\n-A INPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT/' /etc/sysconfig/iptables


service iptables restart


#修改mysql root 密碼
#根據執行該指令碼最後輸出的資訊('建立基本庫'中的root密碼)來修改,改成$password,需要互動執行
mysqladmin -u root -p password $password

2 :解除安裝指令碼

mysqldir='/data/server/mysql_3307'
basedir='/usr/local/mysql'
cnf=/etc/my.cnf
password='[email protected]'


#1:關閉資料庫
mysqladmin -u root -p$password shutdown
killall -u mysql


#2:刪除使用者和組
userdel mysql
groupdel mysql


#3:刪除目錄
rm -rf $mysqldir
rm -rf $basedir


#4:取消開機自動啟動
rm -rf /etc/rc.d/init.d/mysql
chkconfig --del mysql


#5:刪除 PATH
#root使用者
sed -i '/^PATH=/s/:\/usr\/local\/mysql\/bin//' /root/.bash_profile
source /root/.bash_profile
#mysql使用者
sed -i '/^PATH=/s/:\/usr\/local\/mysql\/bin//' /home/mysql/.bash_profile
source /home/mysql/.bash_profile


#6:取消防火牆埠
#修改檔案/etc/sysconfig/iptables
#刪除-A INPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT
sed -i '/-A INPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT/d' /etc/sysconfig/iptables


service iptables restart

五 python指令碼

1:安裝指令碼

[[email protected] download]# cat install_mysql_5.7.py
#coding:utf-8
#執行該指令碼命令:python install_mysql_5.7.py > /download/install_mysql_5.7.py.log
#記得先將mysql安裝包上傳至$dir目錄下

import os,commands,shutil
#定義目錄

basedir='/usr/local/mysql' 

mysqldir='/data/server/mysql_3307/'

datadir=mysqldir+'data'

binlogdir=mysqldir+'binlog'

cnf='/etc/my.cnf'

dir='/download'

socket='/tmp/mysql.sock'

port='3307'

filename='mysql-5.7.9-linux-glibc2.5-x86_64'

password='system[email protected]' #root使用者修改後的密碼

#建使用者
os.system('groupadd mysql')
os.system('useradd -g mysql mysql')

#安裝依賴包
(status,output)=commands.getstatusoutput('rpm -qa libaio')
if output.strip(''):
    print('無需重複安裝libaio')
else:
    os.system('yum install libaio -y')

os.chdir(dir)
if os.path.exists(filename):
    print('已經解壓過,無需重複解壓')
else:
    os.system('tar -xvf '+filename+'.tar.gz')

#拷貝解壓後的mysql目錄到系統的本地軟體目錄:
shutil.copytree(filename,basedir)
os.system('chown -R mysql:mysql '+basedir)

#新建目錄
os.makedirs(mysqldir)

os.mkdir(datadir)

os.mkdir(binlogdir)

#修改配置檔案
if os.path.exists(cnf):
    os.rename(cnf,'/etc/my.cnf_bak')
os.system('touch '+cnf)
with open(cnf,'w') as f:
    f.write('[mysqld]\nbasedir='+basedir+'\ndatadir='+datadir+'\nlog-bin='+binlogdir+'/mysql-bin\nlog-bin-index='+binlogdir+'/binlog.index\nserver-id=1\nport='+port+'\nsocket='+socket+'\nuser=mysql\nsymbolic-links=0\n[mysqld_safe]\nlog-error='+mysqldir+'mysqld.err\npid-file='+mysqldir+'mysqld.pid\n')


os.system('chown -R  mysql:mysql '+mysqldir)

#建立基本庫
os.system(basedir+'/bin/mysqld --defaults-file='+cnf+' --user=mysql --basedir='+basedir+' --datadir='+datadir+' --initialize')


#配置PATH
#root使用者

with open('/root/.bash_profile') as f:
    lines=f.readlines()
with open('/root/.bash_profile','w') as w:
    for l in lines:
        if(l.startswith('PATH')):
            w.write(l.replace(b'\n',b':/usr/local/mysql/bin\n'))
        else:
            w.write(l)

os.system('source /root/.bash_profile')

#mysql使用者
with open('/home/mysql/.bash_profile') as f:
    lines=f.readlines()
with open('/home/mysql/.bash_profile','w') as w:
    for l in lines:
        if(l.startswith('PATH')):
            w.write(l.replace(b'\n',b':/usr/local/mysql/bin\n'))
        else:
            w.write(l)

os.system('source /home/mysql/.bash_profile')


#開放防火牆埠
#開放3306埠,插入到這一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT後面
with open('/etc/sysconfig/iptables') as f:
    lines=f.readlines()
with open('/etc/sysconfig/iptables','w') as w:
    for l in lines:
        if('-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT' in l):
            print(l)
            w.write(l.replace(b'\n',b'\n-A INPUT -m state --state NEW -m tcp -p tcp --dport '+port+' -j ACCEPT\n'))
        else:
            w.write(l)

os.system('service iptables restart')


#設定開機自動啟動(記得重啟機器驗證一下是否成功)


shutil.copyfile(basedir+'/support-files/mysql.server','/etc/rc.d/init.d/mysql')

os.system('chmod +x /etc/rc.d/init.d/mysql')

os.system('chkconfig --add mysql')

os.system('chkconfig mysql on')

#啟動資料庫
os.system('service mysql start')
    
#修改mysql root 密碼
#根據執行該指令碼最後輸出的資訊('建立基本庫'中的root密碼)來修改,改成$password,需要互動執行。
os.system('/usr/local/mysql/bin/mysqladmin -u root -p password '+password)

2:解除安裝指令碼

[[email protected] download]# cat deinstall_mysql_5.7.py 
#coding:utf-8
import os,commands,shutil

mysqldir='/data/server/mysql_3307'
basedir='/usr/local/mysql'
cnf='/etc/my.cnf'
user='root'
password='[email protected]'
port='3307'
file='/etc/rc.d/init.d/mysql'

#1:關閉資料庫
(status,output)=commands.getstatusoutput(basedir+'/bin/mysqladmin -u'+user+' -p'+password+' shutdown')
if status == 0:
    pass
else:
    print(output)

#2:刪除使用者和組
os.system('userdel mysql')
os.system('groupdel mysql')

#3:刪除目錄
shutil.rmtree(mysqldir)
shutil.rmtree(basedir)

#4:取消開機自動啟動
os.remove(file)
os.system('chkconfig --del mysql')

#5:刪除 PATH
#root使用者
with open('/root/.bash_profile','r') as r:
    lines=r.readlines()
with open('/root/.bash_profile','w') as w:
    for l in lines:
       if l.startswith('PATH'):
           w.write(l.replace(':/usr/local/mysql/bin',''))
       else:
           w.write(l)

os.system('source /root/.bash_profile')
#mysql使用者
with open('/home/mysql/.bash_profile','r') as r:
    lines=r.readlines()
with open('/home/mysql/.bash_profile','w') as w:
    for l in lines:
       if l.startswith('PATH'):
           w.write(l.replace(':/usr/local/mysql/bin',''))
       else:
           w.write(l)

os.system('source /home/mysql/.bash_profile')


#6:取消防火牆埠
#修改檔案/etc/sysconfig/iptables
#刪除-A INPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT

with open('/etc/sysconfig/iptables','r') as r:
    lines=r.readlines()
with open('/etc/sysconfig/iptables','w') as w:
    for l in lines:
       if '-A INPUT -m state --state NEW -m tcp -p tcp --dport'+port+' -j ACCEPT' not in l:
           w.write(l)

os.system('service iptables restart')


相關推薦

mysql 5.7下載安裝解除安裝(shellpython指令碼

實驗環境:CentOS 6.5 一:下載軟體 --個人機器為:CentosOS,64位 --請選擇適合自己機器的,進行下載,這裡選擇了64位的. 點選‘Download’進行下載. 二:上傳軟體包到linux下 利用xmanager的傳輸工具或者rz命令上傳即

CentOS 7 下 PHP 7MySQL 5.7 和 Nginx 1.8 的安裝配置(實用

下面將一步步在 CentOS 7 下 PHP 7,MySQL 5.7 和 Nginx 1.8 的安裝與配置。首先我的 CentOS 版本是7.0.1406 [[email protected] ~]# lsb_release -a LSB Version:  

CentOS 7.0 MySQL 5.6.19安裝解除安裝指令碼小結

前言 最近實踐在CentOS7中通過rpm的方式安裝MySQL,期間遇到安裝成功但沒有/root/.mysql_secret檔案導致沒有初始隨機密碼登陸,與mariadb衝突,缺少pid檔案無法啟動等問題,通過查閱網上資料也一一解決了,現在將這些做總結記錄一下

deepin15.7安裝解除安裝MySQL(解決不提示設定密碼問題、修改預設編碼為utf-8以及查詢MySQL的一些命令

一、首先安裝MySQL 安裝前更新一下倉庫,輸入命令:sudo apt-get update [email protected]:~$ sudo apt-get autoremove --purge mysql-server-5.7 輸入命令:sudo

Windows下MySQL-5.7.23的配置安裝

1. MySQL下載,解壓縮和環境設定 下載MySQL:https://dev.mysql.com/downloads/mysql/ 解壓到E盤:E:\MySQL-5.7.23 配置環境設定: 變數名:

Linux軟體包安裝解除安裝yum搭建本地倉庫yum下載rpm包安裝擴充套件源更換國內源

Linux軟體包的安裝與解除安裝安裝軟體包的三種方法rpm工具 red hat package manager,紅帽公司開發的包管理軟體yum工具 Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及Cen

Mysql 5.7.19壓縮包版-從安裝解除安裝

1.解壓 2.把mysql的路徑加入系統path 3.在mysql目錄下,新建檔案my.ini,設定basedir,datadir,port,比如: [mysqld] port=3306 basedir="F:\program\mysql-5.7.

mysql 5.5版本 安裝解除安裝

MySQL5.5安裝教程 轉載:https://www.cnblogs.com/solargen/p/6835399.html          https://jingyan.baidu.com/arti

Mysql 5.7.18 加密連接mysql_ssl_rsa_setup 安裝 mysql證書登陸

nec 文件 利用 ls -l code 就會 比較 熱點 var MySQL 5.7.18 下載地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar

mysql-5.7.17-winx64解壓版本安裝圖解附常見問題

刷新 databases 編輯 總結 跳過密碼驗證 解決 配置 更改密碼 目錄 前言:自己搜索總結的一個文檔,包含了一些常見的問題(在文檔尾部)以便於下次使用 步驟如下: 第一步:下載mysql-5.7.17-winx64解壓版本:http://dev.mysql.com/

關於linux-Centos 7mysql 5.7.9的rpm包的安裝方式

mysql 5.7.9的rpm包的安裝方環境介紹>>>>>>>>>>>>>>>>>>操作系統:Centos 7.1mysql數據庫版本:mysql5.7.9mysql官方網站:http://www.my

WIN 10下Mysql 5.7.21解壓縮(免安裝配置

控制 roo 5.7 ogr 很多 mysql 5.7 mysql數據庫 l數據庫 服務 網上看了N多大神的東西東抄抄西抄抄,老是就不對,因為很多資料不是針對5.7這個版本的內容。 首先解壓文件,比如我解壓到D:\Program Files\mysql-5.7.21-wi

Mysql 5.7.21單機多實例安裝

用戶 files inter .gz address roo href bin rec 下載MySQL 5.7 二制包 [root@MySQL ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.

Windows 64 位 mysql 5.7以上版本包解壓安裝

mysql msql安裝 mysql官網下載地址:https://dev.mysql.com/downloads/mysql/ 以5.7.21版本為例 首先安裝包解壓後,沒有網上教程裏面提到的data文件夾和my-default.ini,如下圖所示 配置環境變量請參照網上教程,這個一般沒有問題 主要

mysql-5.7.16-winx64解壓版安裝超詳細圖文教程

基本 再次 data 就是 left 新的 edi 文件的 文件夾 1.安裝: 將下載的mysql-5.7.16-winx64壓縮包解壓後的整個目錄放在自己喜歡的位置,我的放在D盤根目錄下 2.配置: 進入mysql-5.7.16-winx64目錄,將裏面

Ubuntu安裝解除安裝Mysql

安裝mysql 步驟: 1. sudoapt-get install mysql-server   2. apt-getisntall mysql-client   3. sudo apt-get install libmysqlclie

mysql 5.7 64位 解壓版安裝

64位作業系統最好安裝64位的mysql資料庫,充分利用記憶體的定址能力,對於windows而言,mysql官網只提供了32位的MSI安裝程式,因為在windows下安裝64位的mysql,選擇解壓版安裝。 1.官網下載mysql 5.7 64位    &nbs

mysql-5.7.22-winx64解壓版安裝

很多朋友在安裝mysq解壓版l時出現: “mysql 服務無法啟動 服務沒報告任何錯誤” 以前我安裝時也是遇到這樣的問題; 其實mysql在5.6後就沒有了data目錄,很多朋友按照以前的版本安裝會去建立一個data目錄,這樣就會無法啟動mysql了

Cloudera Manager離線安裝解除安裝【按照此文章可以解除安裝乾淨然後執行cm5的bin檔案重新安裝不推薦此安裝方法】

文章來源:http://www.chinahadoop.cn/group/5/thread/19 最近一直很苦惱,因為一直不知道Clouder Manager的離線安裝與解除安裝,在生產環境中無法直接通過cm安裝cdh。終於,皇天不負有心人,讓我找到了一份有關搭

CentOS軟體的安裝更新解除安裝命令

Linux常見的安裝為tar,zip,gz,rpm,deb,bin等。我們可以簡單的分為三類. 第一:打包或壓縮檔案tar,zip,gz等,一般解壓後即可,或者解壓後執行sh檔案; 第二:對應的有管理工具的deb,rpm等,通常的這類安裝檔案可以通過第三方的命令列