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下載,安裝與解除安裝(帶shell,python指令碼)
實驗環境:CentOS 6.5 一:下載軟體 --個人機器為:CentosOS,64位 --請選擇適合自己機器的,進行下載,這裡選擇了64位的. 點選‘Download’進行下載. 二:上傳軟體包到linux下 利用xmanager的傳輸工具或者rz命令上傳即
CentOS 7 下 PHP 7,MySQL 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 7下mysql 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等,通常的這類安裝檔案可以通過第三方的命令列