mysql5.7的安裝方式
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的惠陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!安裝MySQL可以分為三種方式:{1;源碼編譯、2;二進(jìn)制安裝、3;rpm安裝}
一、MySQL 5.7主要特性:
原生支持Systemd
更好的性能:對(duì)于多核CPU、固態(tài)硬盤(pán)、鎖有著更好的優(yōu)化
更好的InnoDB存儲(chǔ)引擎
更為健壯的復(fù)制功能:復(fù)制帶來(lái)了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶也可以選擇使用MySQL數(shù)據(jù)庫(kù)。
新增sys庫(kù):以后這會(huì)是DBA訪問(wèn)最頻繁的庫(kù)
更好的優(yōu)化器:優(yōu)化器代碼重構(gòu)的意義將在這個(gè)版本及以后的版本中帶來(lái)巨大的改進(jìn),Oracle官方正在解決MySQL之前大的難題原生JSON類型的支持(JavaScript Object Notation)
注:JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
JSON 語(yǔ)法是JavaScript對(duì)象表示語(yǔ)法的子集。
l 數(shù)據(jù)在鍵值對(duì)中
l 數(shù)據(jù)由逗號(hào)分隔
l 花括號(hào)保存對(duì)象
l 方括號(hào)保存數(shù)組
l 安裝文件準(zhǔn)備
l 下載cmake-3.5.tar.gzhttp://wwwNaNake.org/download/
l 下載ncurses-5.9.tar.gzftp://ftp.gnu.org/gnu/ncurses/
l 下載bison-3.0.4.tar.gzhttp://ftp.gnu.org/gnu/bison/
l 下載mysql-5.7.13.tar.gz
l wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz
l 下載Boost_1_59_0.tar.gz
l wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
安裝實(shí)例:(首先進(jìn)行源碼編譯安裝)
首先通過(guò)yum安裝Development Tools開(kāi)發(fā)工具{包括gcc..}
yum groupinstall "Development Tools"
刪除centos系統(tǒng)自帶的mariadb數(shù)據(jù)庫(kù)防止發(fā)生沖突
rpm -qa |grep mariadb
rpm -e mariadb-libs --nodeps
2、安裝依賴包
注:相關(guān)依賴包的作用
cmake:由于從MySQL5.5版本開(kāi)始棄用了常規(guī)的configure編譯方法,所以需要CMake編譯器,用于設(shè)置mysql的編譯參數(shù)。如:安裝目錄、數(shù)據(jù)存放目錄、字符編碼、排序規(guī)則等。
Boost #從MySQL 5.7.5開(kāi)始Boost庫(kù)是必需的,mysql源碼中用到了C++的Boost庫(kù),要求必須安裝boost1.59.0或以上版本
GCC是Linux下的C語(yǔ)言編譯工具,mysql源碼編譯完全由C和C++編寫(xiě),要求必須安裝GCC
bison:Linux下C/C++語(yǔ)法分析器
ncurses:字符終端處理庫(kù)
安裝cmake工具,后續(xù)安裝mysql使用
tar zxvf cmake-3.5.2.tar.gz
cd cmake-3.5.2/
./bootstrap
gmake && gmake install
cmake -version
cd ..
tar zxvf ncurses-5.9.tar.gz
cd ncurses-5.9/
./configure && make && make install
cd ..
tar zxvf bison-3.0.4.tar.gz
cd bison-3.0.4/
./configure && make && make install
cd ..
tar zxvf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
創(chuàng)建mysql的用戶和組
groupadd -r mysql
useradd -r -g mysql -s /bin/false -M mysql
tar zxvf mysql-5.7.18.tar.gz
cd mysql-5.7.18/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost
注1:配置解釋:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql[MySQL安裝的根目錄](méi)-DMYSQL_DATADIR=/usr/local/mysql/data[MySQL數(shù)據(jù)庫(kù)文件存放目錄](méi)
-DSYSCONFDIR=/etc[MySQL配置文件所在目錄](méi)
-DWITH_MYISAM_STORAGE_ENGINE=1 [添加MYISAM引擎支持]
-DWITH_INNOBASE_STORAGE_ENGINE=1[添加InnoDB引擎支持]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 [添加ARCHIVE引擎支持]
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock[指定mysql.sock位置]
-DWITH_PARTITION_STORAGE_ENGINE=1[安裝支持?jǐn)?shù)據(jù)庫(kù)分區(qū)]
-DEXTRA_CHARSETS=all [使MySQL支持所有的擴(kuò)展字符]
-DDEFAULT_CHARSET=utf8[設(shè)置MySQL的默認(rèn)字符集為utf8]-DDEFAULT_COLLATION=utf8_general_ci [設(shè)置默認(rèn)字符集校對(duì)規(guī)則]
-DWITH-SYSTEMD=1 [可以使用systemd控制mysql服務(wù)]
-DWITH_BOOST=/usr/local/boost [指向boost庫(kù)所在目錄]
更多參數(shù)執(zhí)行[root@localhost mysql-5.7.13]# cmake. –LH
make && make install
echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
source /etc/profile
創(chuàng)建mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)位置data,以及l(fā)og日志存放的位置
mkdir /usr/local/mysql/data -p
mkdir /usr/local/mysql/log
調(diào)整mysql的屬主屬組以及data目錄設(shè)置為750
chown -R mysql:mysql /usr/local/mysql/
chmod 750 /usr/local/mysql/data/
初始化:
1.有密碼
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
vim /etc/my.cnf{mysql數(shù)據(jù)庫(kù)的主配置文件,端口號(hào)、基本目錄、數(shù)據(jù)目錄}
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
server_id=1
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/data/mysqld.err
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/將mysql服務(wù)添加為系統(tǒng)服務(wù)
systemctl enable mysqld啟動(dòng)MySQL服務(wù)
啟動(dòng)服務(wù):systemct start mysqld
啟動(dòng)失敗查看錯(cuò)誤日志
1.
mkdir /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld/
systemctl start mysqld.service
netstat -atnlp {查看MySQL服務(wù)是否啟動(dòng)}
mysql -uroot -p 登錄數(shù)據(jù)庫(kù),之后修改密碼
alter user 'root'@'localhost' identified by 'Abc123';
二;接下來(lái)進(jìn)行rpm包進(jìn)行安裝
其中最簡(jiǎn)單的安裝mysql-server服務(wù),只需要安裝如下4個(gè)軟件包即可,我們可以使用rpm -ivh命令進(jìn)行安裝
mysql-community-common-5.7.9-1.el7.x86_64.rpm
mysql-community-libs-5.7.9-1.el7.x86_64.rpm --(依賴于common)
mysql-community-client-5.7.9-1.el7.x86_64.rpm --(依賴于libs)
mysql-community-server-5.7.9-1.el7.x86_64.rpm --(依賴于client、common)
接下來(lái)是初始化數(shù)據(jù)庫(kù),我們使用如下幾條命令均可,效果都是一樣的
mysqld --initialize //新版的推薦此方法,執(zhí)行生會(huì)在/var/log/mysqld.log生成隨機(jī)密碼
更改mysql數(shù)據(jù)庫(kù)目錄的所屬用戶及其所屬組,然后啟動(dòng)mysql數(shù)據(jù)庫(kù)
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service //啟動(dòng)mysql數(shù)據(jù)庫(kù)服務(wù)
三:二進(jìn)制安裝mysql
首先解壓tar包
將二進(jìn)制文件移動(dòng)到/usr/local/mysql目錄下
接下來(lái)創(chuàng)建mysql用戶和mysql組
那么接下來(lái)創(chuàng)建data目錄用來(lái)存放mysql的數(shù)據(jù)和log目錄存放日志文件
接下來(lái)設(shè)置屬組和屬主并給mysql用戶賦予權(quán)限
修改mysql下的/etc/my.cnf文件
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server_id=10
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/data/mysql.pid
max_connections = 1000
max_connect_errors = 1000
table_open_cache = 1024
max_allowed_packet = 128M
open_files_limit = 65535
#####====================================[innodb]==============================
innodb_buffer_pool_size = 1024M
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_lock_wait_timeout = 30
innodb_data_file_path=ibdata1:1024M:autoextend
#####====================================[log]==============================
log_error = /usr/local/mysql/log/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /usr/local/mysql/log/mysql-slow.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
將,mysql服務(wù)添加到系統(tǒng)的環(huán)境變量中,方便后續(xù)使用mysql服務(wù)的時(shí)候不用使用絕對(duì)路徑
進(jìn)行mysql初始化:在目錄下對(duì)mysqld初始化
bin/mysqld --initialize --user=mysql
添加服務(wù),啟動(dòng)
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
接下來(lái)在/usr/local/mysql/log/mysql-err.log日志中查看秘鑰
登錄mysql數(shù)據(jù)庫(kù)
四:使用腳本方式安裝mysql方式
運(yùn)行腳本
服務(wù)已經(jīng)成功啟動(dòng)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。