新聞中心
mysql5.7的安裝方式
安裝MySQL可以分為三種方式:{1;源碼編譯、2;二進(jìn)制安裝、3;rpm安裝}
一、MySQL 5.7主要特性:
原生支持Systemd
更好的性能:對于多核CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化
更好的InnoDB存儲引擎
更為健壯的復(fù)制功能:復(fù)制帶來了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶也可以選擇使用MySQL數(shù)據(jù)庫。
新增sys庫:以后這會是DBA訪問最頻繁的庫
更好的優(yōu)化器:優(yōu)化器代碼重構(gòu)的意義將在這個版本及以后的版本中帶來巨大的改進(jìn),Oracle官方正在解決MySQL之前大的難題原生JSON類型的支持(JavaScript Object Notation)
注:JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
JSON 語法是JavaScript對象表示語法的子集。
l 數(shù)據(jù)在鍵值對中
l 數(shù)據(jù)由逗號分隔
l 花括號保存對象
l 方括號保存數(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
安裝實例:(首先進(jìn)行源碼編譯安裝)
首先通過yum安裝Development Tools開發(fā)工具{包括gcc..}
yum groupinstall "Development Tools"
刪除centos系統(tǒng)自帶的mariadb數(shù)據(jù)庫防止發(fā)生沖突
rpm -qa |grep mariadb
rpm -e mariadb-libs --nodeps
2、安裝依賴包
注:相關(guān)依賴包的作用
cmake:由于從MySQL5.5版本開始棄用了常規(guī)的configure編譯方法,所以需要CMake編譯器,用于設(shè)置mysql的編譯參數(shù)。如:安裝目錄、數(shù)據(jù)存放目錄、字符編碼、排序規(guī)則等。
Boost #從MySQL 5.7.5開始Boost庫是必需的,mysql源碼中用到了C++的Boost庫,要求必須安裝boost1.59.0或以上版本
GCC是Linux下的C語言編譯工具,mysql源碼編譯完全由C和C++編寫,要求必須安裝GCC
bison:Linux下C/C++語法分析器
ncurses:字符終端處理庫
安裝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安裝的根目錄]-DMYSQL_DATADIR=/usr/local/mysql/data[MySQL數(shù)據(jù)庫文件存放目錄]
-DSYSCONFDIR=/etc[MySQL配置文件所在目錄]
-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ù)庫分區(qū)]
-DEXTRA_CHARSETS=all [使MySQL支持所有的擴展字符]
-DDEFAULT_CHARSET=utf8[設(shè)置MySQL的默認(rèn)字符集為utf8]-DDEFAULT_COLLATION=utf8_general_ci [設(shè)置默認(rèn)字符集校對規(guī)則]
-DWITH-SYSTEMD=1 [可以使用systemd控制mysql服務(wù)]
-DWITH_BOOST=/usr/local/boost [指向boost庫所在目錄]
更多參數(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ù)庫的數(shù)據(jù)存儲位置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ù)庫的主配置文件,端口號、基本目錄、數(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啟動MySQL服務(wù)
啟動服務(wù):systemct start mysqld
啟動失敗查看錯誤日志
1.
mkdir /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld/
systemctl start mysqld.service
netstat -atnlp {查看MySQL服務(wù)是否啟動}
mysql -uroot -p 登錄數(shù)據(jù)庫,之后修改密碼
alter user 'root'@'localhost' identified by 'Abc123';
二;接下來進(jìn)行rpm包進(jìn)行安裝
其中最簡單的安裝mysql-server服務(wù),只需要安裝如下4個軟件包即可,我們可以使用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)
接下來是初始化數(shù)據(jù)庫,我們使用如下幾條命令均可,效果都是一樣的
mysqld --initialize //新版的推薦此方法,執(zhí)行生會在/var/log/mysqld.log生成隨機密碼
更改mysql數(shù)據(jù)庫目錄的所屬用戶及其所屬組,然后啟動mysql數(shù)據(jù)庫
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service //啟動mysql數(shù)據(jù)庫服務(wù)
三:二進(jìn)制安裝mysql
首先解壓tar包
將二進(jìn)制文件移動到/usr/local/mysql目錄下
接下來創(chuàng)建mysql用戶和mysql組
那么接下來創(chuàng)建data目錄用來存放mysql的數(shù)據(jù)和log目錄存放日志文件
接下來設(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ù)的時候不用使用絕對路徑
進(jìn)行mysql初始化:在目錄下對mysqld初始化
bin/mysqld --initialize --user=mysql
添加服務(wù),啟動
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
接下來在/usr/local/mysql/log/mysql-err.log日志中查看秘鑰
登錄mysql數(shù)據(jù)庫
四:使用腳本方式安裝mysql方式
運行腳本
服務(wù)已經(jīng)成功啟動
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前標(biāo)題:MySQL5.7版本的三種安裝方式-創(chuàng)新互聯(lián)
分享路徑:http://www.ef60e0e.cn/article/ddjjoo.html