環(huán)境:
虛擬機:VMware Workstation Pro 14?
Linux版本:centos 7.0
Mysql版本:5.7.21
安裝方式:二進制包安裝(mysql-5.7.21.tar.gz)
登錄用戶:root
先吐槽一下酷麦,安裝mysql確實是坑非常的多,本人也是新手上路,參照了網(wǎng)上很多資料褥蚯,總算搞定奠宜!
1、首先在 / 目錄下創(chuàng)建一個 mysql 目錄? :[root@localhost /]# mkdir mysql
2、然后去mysql官網(wǎng)找到最新的mysql軟件包 ,找到軟件包的下載地址爵憎,詳見下面兩張圖:
如上圖客燕,復制到下載鏈接后鸳劳,即可在剛創(chuàng)建的mysql目錄下下載壓縮包:
[root@localhost mysql]#?wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz
下載完成后解壓:[root@localhost mysql]# tar zxvf?mysql-5.7.21.tar.gz?
3、解壓完成后也搓,安裝一些mysql需要的工具:
? ? ? [root@localhost mysql]#yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
? ? ? [root@localhost mysql]#yum install bison
4赏廓、進入到解壓的mysql目錄里去,準備參數(shù)進行編譯
注意:‘-’ 一個也不能少 傍妒; “=” 左右兩邊都不要加空格幔摸,跟下面保持一致即可
? ? ?[root@localhost mysql]#cd?mysql-5.7.21
? ? ?[root@localhost mysql-5.7.21]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安裝目錄
-DMYSQL_DATADIR=/usr/local/mysql/data \ 數(shù)據(jù)文件保存目錄
-DSYSCONFDIR=/etc \ 配置文件(my.cnf) 目錄
-DMYSQL_USER=mysql \ 制定mysql用戶,默認為mysql
-DWITH_MYISAM_STORAGE_ENGINE=1 \ 這4個是設置支持的存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \ 啟用readline庫支持(提供可編輯命令行)
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ 制定mysql.sock路徑颤练,這個我等下會在配 置文件里把改掉
-DMYSQL_TCP_PORT=3306 \ 端口3306
-DENABLED_LOCAL_INFILE=1 \ 啟用本地數(shù)據(jù)導入支持
-DENABLE_DOWNLOADS=1 \ 是否要下載可選的文件既忆,為1表示啟用, 將下載谷歌所使用的測試單元套件進行測試
-DWITH_PARTITION_STORAGE_ENGINE=1 \ 支持數(shù)據(jù)庫分區(qū)
-DEXTRA_CHARSETS=all \ 啟用額外的字符集類型,默認為all
-DDEFAULT_CHARSET=utf8 \ 指定默認字符集為urf-8
-DDEFAULT_COLLATION=utf8_general_ci \ 設定默認排序規(guī)則(urf8_general_ci快速/urf8_unicode_ci/準確)
-DWITH_DEBUG=0 \ 禁用debug患雇,默認為禁用
-DMYSQL_MAINTAINER_MODE=0 \ 不啟用開發(fā)環(huán)境(如果啟用跃脊,此選項會導 致編譯器警告成為錯誤)
-DWITH_SSL:STRING=bundled \ 啟用SSL庫支持,支持SSL協(xié)議(安全套 接層)
-DWITH_ZLIB:STRING=bundled \ 啟用lib庫支持
-DDOWNLOAD_BOOST=1 \ 最好兩個與mysql無關苛吱,安裝需要
-DWITH_BOOST=/usr/local/boost?
5酪术、編譯,這個需要的時間比較長又谋,耐心等待拼缝。?
? ? ?[root@localhost?mysql-5.7.21]# make
6、安裝
? ? [root@localhost?mysql-5.7.21]# make install
7彰亥、安裝之后進行配置
cd /usr/local/mysql? (進入安裝目錄)
groupadd mysql (添加一個mysql組)
useradd -r -g mysql mysql (添加mysql用戶并屬于mysql組)
chown -R mysql:mysql ./? (進入mysql安裝包中咧七,設置屬主和屬組)
8、執(zhí)行初始化 (在安裝目錄下執(zhí)行下面的命令)
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data?
user: 用戶
basedir: 安裝路徑
datadir: 數(shù)據(jù)保存路徑 這幾個參數(shù)在上面編譯中都有
初始化成功后任斋,mysql會隨機分配一個root用戶密碼继阻,把這個記錄下來?
9、然后開啟支持SSL連接(在安裝目錄下執(zhí)行下面的命令)
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
10废酷、進入 support-files 目錄 執(zhí)行下面兩條命令瘟檩,拷貝文件到其他相關目錄
cp my-default.cnf /etc/my.cnf??
cp mysql.server /etc/init.d/mysql
注意:從mysql-5.7.18.tar.gz?開始,?support-files目錄下已經(jīng)沒有my-default.cnf文件澈蟆、/etc/my.cnf 文件也不存在墨辛;
這個時候我的做法是在support-files 目錄下自己創(chuàng)建了 my-default.cnf 文件,然后用vi編輯器寫入下面的內(nèi)容到該文件:
#Foradviceon how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# ***DONOTEDIT THIS FILE. It‘s a template which will be copied to the
# *** default location during install, and will be replacedif you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading# andsetto the amount of RAMfor the most important data
#cachein MySQL.Startat 70% of total RAMfordedicated server,else10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turnon a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonlyset, remove the?
# andsetas required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
11趴俘、使用vi編輯器編輯 my.cnf 睹簇,做如下圖調(diào)整
? ? ?[root@localhost mysql]# vi /etc/my.cnf
12、配置好后寥闪,啟動mysql (此時的root所在目錄是 /usr/local/mysql)
? ? ? [root@localhost mysql]# bin/mysqld_safe --user=mysql &?
13太惠、登錄mysql(此時的root所在目錄是 /usr/local/mysql)
? ? ? ? [root@localhost mysql]#bin/mysql -uroot -p
? ? ? ? ?password 為mysql安裝時初始化的密碼?
14、使用初始化密碼登錄成功后需要修改密碼才能執(zhí)行下面的操作
最后我們可以使用service mysql start|stop|restart 來管理mysql服務疲憋!
綜上凿渊,centos上安裝mysql就算大功告成啦~~
如果需要在windows上也能用終端navicat訪問該數(shù)據(jù)庫,則還需要做下面的配置:
1缚柳、先將mysql命令加入環(huán)境變量埃脏,方便全局使用, 使用vi 命令 編輯 /etc/profile? ?在末尾處加入下面兩行代碼:
? ? ?PATH=$PATH:/usr/local/mysql/bin
? ? ?export PATH
? ?執(zhí)行 命令source /etc/profile使其修改生效喂击,執(zhí)行完可通過echo $PATH命令查看是否添加成功剂癌。
2、授權用戶遠程訪問(此時的root所在目錄是 /usr/local/mysql)
? ? ? 開啟mysql服務: service mysql restart
? ? ? 登錄mysql :mysql -uroot -p123456
? ? ? mysql 環(huán)境執(zhí)行下面兩個命令:(詳見上圖)
? ? ? 使用 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
? ? ? 載入權限 :FLUSH PRIVILEGES;
3翰绊、接著在開啟防火墻的3306端口 (下面的兩個命令在 [root@localhost mysql]# 執(zhí)行)
? ? ? 開啟3306端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent
? ? ? 重新載入設置 firewall-cmd --reload
4佩谷、現(xiàn)在navicat就可以訪問虛擬機上的數(shù)據(jù)庫啦~~