您好,登錄后才能下訂單哦!
mysql5.7的安裝方式
安裝MySQL可以分為三種方式:{1;源碼編譯、2;二進制安裝、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)的意義將在這個版本及以后的版本中帶來巨大的改進,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 安裝文件準備
l 下載cmake-3.5.tar.gz http://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
安裝實例:(首先進行源碼編譯安裝)
首先通過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[安裝支持數(shù)據(jù)庫分區(qū)]
-DEXTRA_CHARSETS=all [使MySQL支持所有的擴展字符]
-DDEFAULT_CHARSET=utf8[設(shè)置MySQL的默認字符集為utf8]-DDEFAULT_COLLATION=utf8_general_ci [設(shè)置默認字符集校對規(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,以及log日志存放的位置
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';
二;接下來進行rpm包進行安裝
其中最簡單的安裝mysql-server服務(wù),只需要安裝如下4個軟件包即可,我們可以使用rpm -ivh命令進行安裝
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ù)
三:二進制安裝mysql
首先解壓tar包
將二進制文件移動到/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ù)的時候不用使用絕對路徑
進行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)成功啟動
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。