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