溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CentOS6.x/CentOS7.x一鍵安裝mysql5.

發(fā)布時(shí)間:2020-08-03 19:20:57 來源:網(wǎng)絡(luò) 閱讀:3957 作者:dyc2005 欄目:MySQL數(shù)據(jù)庫

一、系統(tǒng)環(huán)境及說明

????系統(tǒng):CentOS6.x_x64? mysql:社區(qū)版5.6.21,開源數(shù)據(jù)庫用的最多的mysql,編譯安裝比較繁瑣,yum安裝版本比較低且默認(rèn)安裝的位置是/var/下,本次采用官方下載的rpm包,通過腳本自動(dòng)化安裝并定制數(shù)據(jù)目錄到獨(dú)立分區(qū)中(本次為/data1目錄)

另外補(bǔ)充部分是給出針對(duì)Ubuntu/CentOS7的實(shí)際配置;最后提供了腳本一鍵安裝;注意的是glibc版本要大于2.12


二、準(zhǔn)備安裝包

1、官方下載

#https://dev.mysql.com/downloads/mysql/5.6.html#downloads?選擇對(duì)應(yīng)的版本和平臺(tái)軟件包:

MySQL-shared-compat-5.6.x-1.el6.x86_64.rpm???? #x就是你下的版本號(hào)以下類同
MySQL-devel-5.6.x-1.el6.x86_64.rpm
MySQL-shared-5.6.x-1.el6.x86_64.rpm
MySQL-client-5.6.x-1.el6.x86_64.rpm
MySQL-test-5.6.x-1.el6.x86_64.rpm
MySQL-server-5.6.x-1.el6.x86_64.rpm

2、本實(shí)驗(yàn)用到的包

http://pan.baidu.com/s/1nvn0nUx包含了以下軟件包(也是從官方下載):


MySQL-shared-compat-5.6.21-1.el6.x86_64.rpm
MySQL-devel-5.6.21-1.el6.x86_64.rpm
MySQL-shared-5.6.21-1.el6.x86_64.rpm
MySQL-client-5.6.21-1.el6.x86_64.rpm
MySQL-test-5.6.21-1.el6.x86_64.rpm
MySQL-server-5.6.21-1.el6.x86_64.rpm


三、安裝mysql5.6

1、如果是官方下載的請(qǐng)直接執(zhí)行下面操作

#rpm?-ivh?MySQL-shared-compat-5.6.x-1.el6.x86_64.rpm???????#提供基礎(chǔ)依賴組件,需要第一個(gè)安裝?
#yum?remove?mysql-libs?-y??????????????#御載默認(rèn)自帶的mysql-lib
#yum?install?libaio?-y?????????????????????????#安裝libiao
#rpm?-ivh?MySQL-devel-5.6.x-1.el6.x86_64.rpm
#rpm?-ivh?MySQL-shared-5.6.x-1.el6.x86_64.rpm
#rpm?-ivh?MySQL-client-5.6.x-1.el6.x86_64.rpm
#rpm?-ivh?MySQL-test-5.6.x-1.el6.x86_64.rpm
#rpm?-ivh?MySQL-server-5.6.x-1.el6.x86_64.rpm
說明:以上直接安裝的數(shù)據(jù)目錄在/var/lib/mysql下?但有時(shí)你并不希望?數(shù)據(jù)目錄和/目錄在一個(gè)分區(qū)(磁盤)上
因此可通過腳本重重新初始化安裝到別的目錄;完成自定制;

2、本實(shí)驗(yàn)?zāi)_本如下:

將以上rpm包放到一個(gè)目錄,創(chuàng)建my.cnf文件(公供參考)

cat my.cnf

[mysqld]

#?GENERAL?#
user???????????????????????????=?mysql
default-storage-engine?????????=?InnoDB
socket?????????????????????????=?/data1/mysqldb/data/mysql.sock
pid-file???????????????????????=?/data1/mysqldb/data/mysql.pid

#?MyISAM?#
key-buffer-size????????????????=?32M
myisam-recover?????????????????=?FORCE,BACKUP

#?SAFETY?#
max-allowed-packet?????????????=?16M
max-connect-errors?????????????=?1000000

#?DATA?STORAGE?#
datadir????????????????????????=?/data1/mysqldb/data

#?BINARY?LOGGING?#
log-bin????????????????????????=?/data1/mysqldb/log/mysql-bin
expire-logs-days???????????????=?14
sync-binlog????????????????????=?1

#?CACHES?AND?LIMITS?#
tmp-table-size?????????????????=?32M
max-heap-table-size????????????=?32M
query-cache-type???????????????=?0
query-cache-size???????????????=?0
max-connections????????????????=?500
thread-cache-size??????????????=?50
open-files-limit???????????????=?65535
table-definition-cache?????????=?1024
table-open-cache???????????????=?2048

#?INNODB?#
innodb-flush-method????????????=?O_DIRECT
innodb-log-files-in-group??????=?2
innodb-log-file-size???????????=?64M
innodb-flush-log-at-trx-commit?=?1
innodb-file-per-table??????????=?1
innodb-buffer-pool-size????????=?256M

#?LOGGING?#
log-error??????????????????????=?/data1/mysqldb/log/mysql-error.log
log-queries-not-using-indexes??=?0
slow-query-log?????????????????=?1
slow-query-log-file????????????=?/data1/mysqldb/log/mysql-slow.log

注意:生產(chǎn)環(huán)境有些優(yōu)化參數(shù)請(qǐng)按需修改;以上僅供參考;您也可以到https://tools.percona.com/ ? 網(wǎng)站填寫相關(guān)參數(shù)生成配置文件;


并在目錄中創(chuàng)建一個(gè)install.sh腳本內(nèi)容如下:

cat install.sh

#!/bin/bash
src_dir=$(pwd)
cd?$src_dir
rpm?-ivh?MySQL-shared-compat-5.6.21-1.el6.x86_64.rpm
yum?remove?mysql-libs?-y
yum?install?libaio?-y
rpm?-ivh?MySQL-devel-5.6.21-1.el6.x86_64.rpm
rpm?-ivh?MySQL-shared-5.6.21-1.el6.x86_64.rpm
rpm?-ivh?MySQL-client-5.6.21-1.el6.x86_64.rpm
rpm?-ivh?MySQL-test-5.6.21-1.el6.x86_64.rpm
rpm?-ivh?MySQL-server-5.6.21-1.el6.x86_64.rpm

#service?mysql?start?&&?echo?"mysql5.6.21?has?installes?sucess!"
#mysql_root_pwd=`gawk?-F?:?'{?print?$4?}'?/root/.mysql_secret`
#echo?"A?random?root?password?has?been?set.?You?will?find?it?in?'/root/.mysql_secret'."
#echo?"The?random?root?password?was:'${mysql_root_pwd//?}'"

service?mysql?stop
[?-d?/data1/mysqldb/data?]?||?mkdir?-p?/data1/mysqldb/data
[?-d?/data1/mysqldb/log?]?||?mkdir?-p?/data1/mysqldb/log
chown?mysql.mysql?/data1/mysqldb?-R
cd?$src_dir
cp?${src_dir}/my.cnf?/etc
cd?/usr/bin
./mysql_install_db?--user=mysql?--basedir=/usr?--datadir=/data1/mysqldb/data???#遷移數(shù)據(jù)目錄到/data1/mysqldb/data下可自行定制
cd?/var/lib
mv?mysql?/tmp
mkdir?mysql
chown?mysql.mysql?mysql

service?mysql?start?&&?echo?"Mysql?root?password?was?empty.Please?change?when?you?login?mysql."
ln?-s?/data1/mysqldb/data/mysql.sock???/var/lib/mysql/mysql.sock???????#由于一些mysql工具默認(rèn)到這里找mysql.sock所以做個(gè)軟鏈

??四、注意問題

1、關(guān)閉selinux否則腳本安裝不成功

2、安裝后系統(tǒng)自帶的postfix和crontab工具被御了,重新yum安裝 一次即可

3、mysql服務(wù)的root密碼為空,請(qǐng)自行修改root密碼

或在腳本中添加以下行 在mysql遷移好目錄啟動(dòng)后自動(dòng)修改mysql root密碼

mysqladmin -u root password "123.com"??????


補(bǔ)充部分:

CentOS7.x安裝 mysql 5.7.21

到mysql官方下載Linux通用包wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

解壓:

#yum?install?libaio1?numactl?-y
#tar?-xvf?mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz??-C?/usr/local
#ln?-sv?mysql-5.7.21-linux-glibc2.12-x86_64??mysql

添加環(huán)境變量

cat?/etc/profile.d/mysql.sh
export?PATH=/usr/local/mysql/bin:$PATH

初始化:

#useradd?-r?mysql
#mkdir?-pv?/data/mysql
#chown?mysql.mysql?/data/mysql?
#mysqld?--initialize-insecure??--datadir=/data/mysql?--user=mysql?--basedir=/usr/local/mysql/
#mkdir?/usr/local/mysql/etc/my.cnf.d
#chown?mysql.mysql?-R?/usr/local/mysql/etc
#cp?/etc/my.cnf?/usr/local/mysql/etc/
#cat?/usr/local/mysql/etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/var/run/mysql/mysql.pid
!includedir?/usr/local/mysql/etc/my.cnf.d

??????????????????????
復(fù)制啟動(dòng)腳本:

#cp?/usr/local/mysql/suppor-files/mysql.server?/etc/init.d/mysqld
#touch?/usr/local/mysql/log/error.log???
#chwon?mysql.mysql?/usr/local/mysql/log/error.log
#chmod?755?/usr/local/mysql/log/error.log
#chkconfig?--add?mysqld
#chkconfig?mysqld?on
#service?mysqld?start


Ubuntu 16.04上安裝

下載同樣的包

安裝的步驟與上面CentOS7類似,不同的是ubuntu 16.04上不支持service 方式管理

因此需要復(fù)制

#apt-get?install?libaio1?numactl??##?安裝依賴包
#cp?/usr/local/mysql/suppor-files/mysql.server?/etc/init.d/mysqld
#sudo?systemctl?daemon-reload
#chown?root.mysql?/usr/local/mysql?-R
#chmod?775?/usr/local/mysql?-R

#systemctl?enable?mysqld
#systemctl?start?mysqld
#systemctl?status?mysqld

如圖:

CentOS6.x/CentOS7.x一鍵安裝mysql5.

mysql -uroot -p

如圖:

CentOS6.x/CentOS7.x一鍵安裝mysql5.

注意安裝后mysql root密碼為空;請(qǐng)自行設(shè)置 root密碼;以下腳本一鍵安裝亦是如此!

一鍵安裝腳本

以上在CentOS7上安裝和Ubuntu 16.04下安裝大同小異,均可以安裝成功;因此整理成一鍵安裝腳本!

#cat auto_install_mysql.sh

#!/bin/bash
#version?2018-04-01?by?san
setenforce?0
yum?install?wget?-y
sourceDir=$(pwd)
installDir=/usr/local
mysqlData=/data1/mysqldb
mysqlBaseDir=/usr/local/mysql

mysqldb="mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz"
xtrabackup="percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm"


check_mariadb(){
if?[?$(rpm?-qa|grep?mariadb|wc?-l)?-gt?1?]
then
????echo?"Find?mariadb?installed!"
????read?-t?6?-p?"default?y|Y?remove?pause?6?seconds!n|N?Cacle?install!"?yesNo
????if?[[?$yesNo?==?"n"?||?$yesNo?==?"N"?]]
????then
????echo?"Cacle?install?mysqldb"?&&?exit?0
????else
?????????yum?-y?remove?mariadb?mariadb-server
?????????rm?-rf?/etc/my.cnf
????fi
fi
}
check_mariadb

[?-f?$sourceDir?]||mkdir?$sourceDir?-pv
[[?$(id?mysql?>/dev/null?&&?echo?$?)?==?0?]]?&&?echo?"mysql?is?exsits!"?||?useradd?-r?mysql
cd?$sourceDir
[?-f?${sourceDir}/${mysqldb}?]?||?wget?https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
tar?-xvf??$mysqldb??-C?$installDir
cd?$installDir
ln?-sv?mysql-5.7.21-linux-glibc2.12-x86_64??mysql
[?-f?/etc/profile.d/mysql.sh?]||?echo?"export?PATH=$mysqlBaseDir/bin:$PATH"?>/etc/profile.d/mysql.sh
source?/etc/profile.d/mysql.sh

#創(chuàng)建mysql數(shù)據(jù)目錄
[?-d?$mysqlData?]||?mkdir?-pv?$mysqlData?
chown?mysql.mysql?$mysqlData
$mysqlBaseDir/bin/mysqld?--initialize-insecure??--datadir=$mysqlData?--user=mysql?--basedir=$mysqlBaseDir/

[?-d?$mysqlBaseDir/etc/my.cnf.d?]?||?mkdir?-pv?$mysqlBaseDir/etc/my.cnf.d
[?-d?$mysqlBaseDir/log?]?||?mkdir?-pv?$mysqlBaseDir/log
echo?'
[mysqld]
datadir=/data1/mysqldb
socket=/data1/mysqldb/mysql.sock
key_buffer_size?????????=?16M
max_allowed_packet??????=?16M
thread_stack????????????=?192K
thread_cache_size???????=?8

query_cache_limit???????=?1M
query_cache_size????????=?64M
query_cache_type????????=?1
symbolic-links=0
#binlog
server-id???????????????=?1
log_bin?????????????????=?/data1/mysqldb/mysql-bin.log

#建議打開
innodb_file_per_table=ON
skip_name_resolve=ON

[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/var/run/mysql/mysql.pid
!includedir?/usr/local/mysql/etc/my.cnf.d
'?>/$mysqlBaseDir/etc/my.cnf
touch?/usr/local/mysql/log/error.log
chown?mysql.mysql?$mysqlBaseDir/*?-R
chown?mysql.mysql?/usr/local/mysql/etc/my.cnf.d?-R

#add?manager?script
cp?-rp?$mysqlBaseDir/support-files/mysql.server?/etc/init.d/mysqld
chmod?+x?/etc/init.d/mysqld
chkconfig?--add?mysqld
chkconfig?mysqld?on
systemctl?daemon-reload
service?mysqld?start
ln?-sv?/data1/mysqldb/mysql.sock?/tmp/mysql.sock
###
echo?"mysql?root?password?is?empty"

echo?'install?xtrabackup?tool'
cd?$sourceDir
[?-f?${sourceDir}/${xtrabackup}?]?||?wget?https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm
yum?install?./percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm?-y

補(bǔ)充:

python pip install MySQL-python 時(shí)報(bào)錯(cuò)

mysql_config 找不到問題

# ln -s /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config

以及error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

ubuntu 執(zhí)行如下命令

sudo apt-get install python-dev? \

build-essential libssl-dev libffi-dev \

libxml2-dev libxslt1-dev zlib1g-dev \





向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI