《Mysql學(xué)習(xí)MySQL5.7版本的三種安裝方式》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)MySQL5.7版本的三種安裝方式,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
導(dǎo)讀:安裝MySQL可以分為三種方式:{1;源碼編譯、2;二進(jìn)制安裝、3;rpm安裝}一、MySQL 5.7主要特性:原生支持Systemd更好的性能:對(duì)于多核CPU...
安裝MySQL可以分為三種方式:{1;源碼編譯、2;二進(jìn)制安裝、3;rpm安裝}
一、MySQL 5.7主要特性:MYSQL實(shí)例
原生支持Systemd
更好的性能:對(duì)于多核CPU、固態(tài)硬盤(pán)、鎖有著更好的優(yōu)化
更好的InnoDB存儲(chǔ)引擎
更為健壯的復(fù)制功能:復(fù)制帶來(lái)了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶(hù)也可以選擇使用MySQL數(shù)據(jù)庫(kù).MYSQL實(shí)例
新增sys庫(kù):以后這會(huì)是DBA訪問(wèn)最頻繁的庫(kù)
更好的優(yōu)化器:優(yōu)化器代碼重構(gòu)的意義將在這個(gè)版本及以后的版本中帶來(lái)巨大的改進(jìn),Oracle官方正在解決MySQL之前最大的難題原生JSON類(lèi)型的支持(JavaScript?Object Notation)MYSQL實(shí)例
注:JSON(JavaScript?Object Notation)?是一種輕量級(jí)的數(shù)據(jù)交換格式.JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類(lèi)似于C語(yǔ)言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等).這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言.易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率).MYSQL實(shí)例
JSON?語(yǔ)法是?JavaScript?對(duì)象表示語(yǔ)法的子集.MYSQL實(shí)例
l?數(shù)據(jù)在鍵值對(duì)中MYSQL實(shí)例
l?數(shù)據(jù)由逗號(hào)分隔MYSQL實(shí)例
l?花括號(hào)保存對(duì)象MYSQL實(shí)例
l?方括號(hào)保存數(shù)組MYSQL實(shí)例
l?安裝文件準(zhǔn)備MYSQL實(shí)例
l?下載cmake-3.5.tar.gz????http://wwwNaNake.org/download/MYSQL實(shí)例
l?下載ncurses-5.9.tar.gzftp://ftp.gnu.org/gnu/ncurses/MYSQL實(shí)例
l?下載bison-3.0.4.tar.gzhttp://ftp.gnu.org/gnu/bison/MYSQL實(shí)例
l?下載mysql-5.7.13.tar.gzMYSQL實(shí)例
l?wget?http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gzMYSQL實(shí)例
l?下載Boost_1_59_0.tar.gzMYSQL實(shí)例
l?wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gzMYSQL實(shí)例
?MYSQL實(shí)例
安裝實(shí)例:(首先進(jìn)行源碼編譯安裝)MYSQL實(shí)例
首先通過(guò)yum安裝Development Tools開(kāi)發(fā)工具{包括gcc..}MYSQL實(shí)例
yum groupinstall "Development Tools"MYSQL實(shí)例
?MYSQL實(shí)例
刪除centos系統(tǒng)自帶的mariadb數(shù)據(jù)庫(kù)防止發(fā)生沖突MYSQL實(shí)例
rpm -qa |grep mariadbMYSQL實(shí)例
rpm -e mariadb-libs --nodepsMYSQL實(shí)例
?MYSQL實(shí)例
2、安裝依賴(lài)包MYSQL實(shí)例
注:?相關(guān)依賴(lài)包的作用MYSQL實(shí)例
cmake:由于從MySQL5.5版本開(kāi)始棄用了常規(guī)的configure編譯方法,所以需要CMake編譯器,用于設(shè)置mysql的編譯參數(shù).如:安裝目錄、數(shù)據(jù)存放目錄、字符編碼、排序規(guī)則等.MYSQL實(shí)例
Boost??#從MySQL?5.7.5開(kāi)始Boost庫(kù)是必需的,mysql源碼中用到了C++的Boost庫(kù),要求必須安裝boost1.59.0或以上版本MYSQL實(shí)例
GCC是Linux下的C語(yǔ)言編譯工具,mysql源碼編譯完全由C和C++編寫(xiě),要求必須安裝GCCMYSQL實(shí)例
bison:Linux下C/C++語(yǔ)法分析器MYSQL實(shí)例
ncurses:字符終端處理庫(kù)MYSQL實(shí)例
?MYSQL實(shí)例
安裝cmake工具,后續(xù)安裝mysql使用MYSQL實(shí)例
tar zxvf cmake-3.5.2.tar.gzMYSQL實(shí)例
cd cmake-3.5.2/MYSQL實(shí)例
./bootstrapMYSQL實(shí)例
gmake && gmake installMYSQL實(shí)例
?MYSQL實(shí)例
cmake -versionMYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
cd ..MYSQL實(shí)例
tar zxvf ncurses-5.9.tar.gzMYSQL實(shí)例
cd ncurses-5.9/MYSQL實(shí)例
./configure && make && make installMYSQL實(shí)例
?MYSQL實(shí)例
cd ..MYSQL實(shí)例
tar zxvf bison-3.0.4.tar.gzMYSQL實(shí)例
cd bison-3.0.4/MYSQL實(shí)例
./configure && make && make installMYSQL實(shí)例
?MYSQL實(shí)例
cd ..MYSQL實(shí)例
tar zxvf boost_1_59_0.tar.gzMYSQL實(shí)例
mv boost_1_59_0 /usr/local/boostMYSQL實(shí)例
?MYSQL實(shí)例
創(chuàng)建mysql的用戶(hù)和組MYSQL實(shí)例
groupadd -r mysqlMYSQL實(shí)例
useradd -r -g mysql -s /bin/false -M mysqlMYSQL實(shí)例
?MYSQL實(shí)例
tar zxvf mysql-5.7.18.tar.gzMYSQL實(shí)例
cd mysql-5.7.18/MYSQL實(shí)例
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/boostMYSQL實(shí)例
?MYSQL實(shí)例
注1:配置解釋?zhuān)?/span>MYSQL實(shí)例
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql[MySQL安裝的根目錄]-DMYSQL_DATADIR=/usr/local/mysql/data[MySQL數(shù)據(jù)庫(kù)文件存放目錄]MYSQL實(shí)例
-DSYSCONFDIR=/etc[MySQL配置文件所在目錄]MYSQL實(shí)例
-DWITH_MYISAM_STORAGE_ENGINE=1 [添加MYISAM引擎支持]MYSQL實(shí)例
-DWITH_INNOBASE_STORAGE_ENGINE=1[添加InnoDB引擎支持]MYSQL實(shí)例
-DWITH_ARCHIVE_STORAGE_ENGINE=1 ?[添加ARCHIVE引擎支持]MYSQL實(shí)例
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock[指定mysql.sock位置]MYSQL實(shí)例
-DWITH_PARTITION_STORAGE_ENGINE=1[安裝支持?jǐn)?shù)據(jù)庫(kù)分區(qū)]MYSQL實(shí)例
-DEXTRA_CHARSETS=all [使MySQL支持所有的擴(kuò)展字符]MYSQL實(shí)例
-DDEFAULT_CHARSET=utf8[設(shè)置MySQL的默認(rèn)字符集為utf8]-DDEFAULT_COLLATION=utf8_general_ci [設(shè)置默認(rèn)字符集校對(duì)規(guī)則]MYSQL實(shí)例
-DWITH-SYSTEMD=1 ?[可以使用systemd控制mysql服務(wù)]MYSQL實(shí)例
-DWITH_BOOST=/usr/local/boost??[指向boost庫(kù)所在目錄]MYSQL實(shí)例
更多參數(shù)執(zhí)行[root@localhost mysql-5.7.13]# cmake. –LHMYSQL實(shí)例
?MYSQL實(shí)例
make && make installMYSQL實(shí)例
echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profileMYSQL實(shí)例
source /etc/profileMYSQL實(shí)例
?MYSQL實(shí)例
創(chuàng)建mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)位置data,以及log日志存放的位置MYSQL實(shí)例
mkdir /usr/local/mysql/data -pMYSQL實(shí)例
mkdir /usr/local/mysql/logMYSQL實(shí)例
?MYSQL實(shí)例
調(diào)整mysql的屬主屬組以及data目錄設(shè)置為750MYSQL實(shí)例
chown -R mysql:mysql /usr/local/mysql/MYSQL實(shí)例
chmod 750 /usr/local/mysql/data/MYSQL實(shí)例
?MYSQL實(shí)例
初始化:MYSQL實(shí)例
1.有密碼MYSQL實(shí)例
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/dataMYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
vim /etc/my.cnf{mysql數(shù)據(jù)庫(kù)的主配置文件,端口號(hào)、基本目錄、數(shù)據(jù)目錄}MYSQL實(shí)例
[mysqld]MYSQL實(shí)例
basedir=/usr/local/mysqlMYSQL實(shí)例
datadir=/usr/local/mysql/dataMYSQL實(shí)例
port=3306MYSQL實(shí)例
server_id=1MYSQL實(shí)例
socket=/usr/local/mysql/mysql.sockMYSQL實(shí)例
log-error=/usr/local/mysql/data/mysqld.errMYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/??將mysql服務(wù)添加為系統(tǒng)服務(wù)MYSQL實(shí)例
systemctl enable mysqld??啟動(dòng)MySQL服務(wù)MYSQL實(shí)例
?MYSQL實(shí)例
啟動(dòng)服務(wù):systemct start mysqldMYSQL實(shí)例
?MYSQL實(shí)例
啟動(dòng)失敗查看錯(cuò)誤日志MYSQL實(shí)例
?MYSQL實(shí)例
1.MYSQL實(shí)例
mkdir /var/run/mysqldMYSQL實(shí)例
chown -R mysql:mysql /var/run/mysqld/MYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
systemctl start mysqld.serviceMYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
netstat -atnlp?{查看MySQL服務(wù)是否啟動(dòng)}MYSQL實(shí)例
?MYSQL實(shí)例
?MYSQL實(shí)例
mysql -uroot -p?登錄數(shù)據(jù)庫(kù),之后修改密碼MYSQL實(shí)例
alter user 'root'@'localhost' identified by 'Abc123';MYSQL實(shí)例
?MYSQL實(shí)例
二;接下來(lái)進(jìn)行rpm包進(jìn)行安裝MYSQL實(shí)例
其中最簡(jiǎn)單的安裝mysql-server服務(wù),只需要安裝如下4個(gè)軟件包即可,我們可以使用rpm -ivh命令進(jìn)行安裝MYSQL實(shí)例
?MYSQL實(shí)例
?????mysql-community-common-5.7.9-1.el7.x86_64.rpmMYSQL實(shí)例
?????mysql-community-libs-5.7.9-1.el7.x86_64.rpm ????????????--(依賴(lài)于common)MYSQL實(shí)例
?????mysql-community-client-5.7.9-1.el7.x86_64.rpm ?????????--(依賴(lài)于libs)MYSQL實(shí)例
?????mysql-community-server-5.7.9-1.el7.x86_64.rpm ????????--(依賴(lài)于client、common)
MYSQL實(shí)例
接下來(lái)是初始化數(shù)據(jù)庫(kù),我們使用如下幾條命令均可,效果都是一樣的MYSQL實(shí)例
mysqld --initialize ????????????????????????//新版的推薦此方法,執(zhí)行生會(huì)在/var/log/mysqld.log生成隨機(jī)密碼MYSQL實(shí)例
?MYSQL實(shí)例
更改mysql數(shù)據(jù)庫(kù)目錄的所屬用戶(hù)及其所屬組,然后啟動(dòng)mysql數(shù)據(jù)庫(kù)MYSQL實(shí)例
chown mysql:mysql /var/lib/mysql -RMYSQL實(shí)例
?MYSQL實(shí)例
systemctl start mysqld.service ???????????//啟動(dòng)mysql數(shù)據(jù)庫(kù)服務(wù)MYSQL實(shí)例
?MYSQL實(shí)例
三:二進(jìn)制安裝mysqlMYSQL實(shí)例
首先解壓tar包MYSQL實(shí)例
?MYSQL實(shí)例
將二進(jìn)制文件移動(dòng)到/usr/local/mysql目錄下MYSQL實(shí)例
?MYSQL實(shí)例
接下來(lái)創(chuàng)建mysql用戶(hù)和mysql組MYSQL實(shí)例
?MYSQL實(shí)例
那么接下來(lái)創(chuàng)建data目錄用來(lái)存放mysql的數(shù)據(jù)和log目錄存放日志文件MYSQL實(shí)例
?MYSQL實(shí)例
接下來(lái)設(shè)置屬組和屬主并給mysql用戶(hù)賦予權(quán)限MYSQL實(shí)例
?MYSQL實(shí)例
修改mysql下的/etc/my.cnf文件MYSQL實(shí)例
[client]MYSQL實(shí)例
port = 3306MYSQL實(shí)例
socket = /tmp/mysql.sockMYSQL實(shí)例
?MYSQL實(shí)例
[mysqld]MYSQL實(shí)例
server_id=10MYSQL實(shí)例
port = 3306MYSQL實(shí)例
user = mysqlMYSQL實(shí)例
character-set-server = utf8mb4MYSQL實(shí)例
default_storage_engine = innodbMYSQL實(shí)例
log_timestamps = SYSTEMMYSQL實(shí)例
socket = /tmp/mysql.sockMYSQL實(shí)例
basedir = /usr/local/mysqlMYSQL實(shí)例
datadir = /usr/local/mysql/dataMYSQL實(shí)例
pid-file = /usr/local/mysql/data/mysql.pidMYSQL實(shí)例
max_connections = 1000MYSQL實(shí)例
max_connect_errors = 1000MYSQL實(shí)例
table_open_cache = 1024MYSQL實(shí)例
max_allowed_packet = 128MMYSQL實(shí)例
open_files_limit = 65535MYSQL實(shí)例
#####====================================[innodb]==============================MYSQL實(shí)例
innodb_buffer_pool_size = 1024MMYSQL實(shí)例
innodb_file_per_table = 1MYSQL實(shí)例
innodb_write_io_threads = 4MYSQL實(shí)例
innodb_read_io_threads = 4MYSQL實(shí)例
innodb_purge_threads = 2MYSQL實(shí)例
innodb_flush_log_at_trx_commit = 1MYSQL實(shí)例
innodb_log_file_size = 512MMYSQL實(shí)例
innodb_log_files_in_group = 2MYSQL實(shí)例
innodb_log_buffer_size = 16MMYSQL實(shí)例
innodb_max_dirty_pages_pct = 80MYSQL實(shí)例
innodb_lock_wait_timeout = 30MYSQL實(shí)例
innodb_data_file_path=ibdata1:1024M:autoextendMYSQL實(shí)例
?MYSQL實(shí)例
#####====================================[log]==============================MYSQL實(shí)例
log_error = /usr/local/mysql/log/mysql-error.logMYSQL實(shí)例
slow_query_log = 1MYSQL實(shí)例
long_query_time = 1MYSQL實(shí)例
slow_query_log_file = /usr/local/mysql/log/mysql-slow.logMYSQL實(shí)例
?MYSQL實(shí)例
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESMYSQL實(shí)例
將,mysql服務(wù)添加到系統(tǒng)的環(huán)境變量中,方便后續(xù)使用mysql服務(wù)的時(shí)候不用使用絕對(duì)路徑MYSQL實(shí)例
?MYSQL實(shí)例
進(jìn)行mysql初始化:在目錄下對(duì)mysqld初始化MYSQL實(shí)例
?MYSQL實(shí)例
????bin/mysqld??--initialize??--user=mysqlMYSQL實(shí)例
?MYSQL實(shí)例
添加服務(wù),啟動(dòng)MYSQL實(shí)例
?MYSQL實(shí)例
????cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldMYSQL實(shí)例
????service mysqld startMYSQL實(shí)例
?MYSQL實(shí)例
接下來(lái)在/usr/local/mysql/log/mysql-err.log日志中查看秘鑰MYSQL實(shí)例
?MYSQL實(shí)例
登錄mysql數(shù)據(jù)庫(kù)MYSQL實(shí)例
?MYSQL實(shí)例
四:使用腳本方式安裝mysql方式MYSQL實(shí)例
?MYSQL實(shí)例
運(yùn)行腳本MYSQL實(shí)例
?MYSQL實(shí)例
服務(wù)已經(jīng)成功啟動(dòng)MYSQL實(shí)例
MYSQL實(shí)例
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/5556.html