1. 程式人生 > >Centos6編譯安裝Mysql5.7.18, rpm 安裝mysql5.7.18,ubuntu apt安裝mysql

Centos6編譯安裝Mysql5.7.18, rpm 安裝mysql5.7.18,ubuntu apt安裝mysql

關鍵字: centos 編譯安裝mysql5.7.18 rpm安裝5.7.18,ubuntu apt -get 安裝mysql
mysql安裝

一. 編譯安裝前的準備

1.1 解除安裝原有的Mysql

在root使用者下操作 找出mysql的相關目錄

[root@master hadoop]# find / -name mysql

顯示

[root@master hadoop]# find / -name mysql
/usr/share/mysql
/usr/lib64/mysql

通過命令rm -rf將mysql有關目錄都刪除掉,例如我這裡只有上述的兩個目錄

[root@master
hadoop]# rm -rf /usr/share/mysql [root@master hadoop]# rm -rf /usr/lib64/mysql

1.2 下載自己想要的版本的mysql

為什麼我要找mysql-boost-5.7.18.tar.gz 而不是 mysql-5.7.18.tar.gz, 因為在Mysql5.7版本更新後有很多變化,比如json等,連安裝都有變化,他安裝必須要BOOST庫,所以我們下載 mysql-boost-5.7.18.tar.gz, 如果是5.6版本,那麼就下載 mysql-5.6.35.tar.gz 就可以了 5.5 版本,就下載 mysql-5.5.54.tar.gz 反正自己去映象庫中找就可以了

1.3 把Mysql的壓縮包放在/root下

[root@master Downloads]# mv mysql-boost-5.7.18.tar.gz /root/

1.4 安裝編譯原始碼所需的工具和庫

[root@master Downloads]# yum install gcc gcc-c++ ncurses-devel perl

1.5 安裝cmake編譯工具

[root@master Downloads]# yum install cmake -y

二、設定MySQL使用者和組

2.1新增mysql使用者組

[root@master
Downloads]# groupadd mysql

2.2新增mysql使用者

[root@master Downloads]# useradd -r -g mysql mysql

三、新建MySQL所需要的目錄

3.1新建mysql安裝目錄

[root@master Downloads]# mkdir -p /usr/local/mysql

3.2新建mysql資料庫資料檔案目錄

[root@master Downloads]# mkdir -p /data/mysqldb

3.3解壓mysql壓縮包

//進入到mysql壓縮包的目錄下 
[[email protected] Downloads]# cd /root/
//解壓 
[[email protected] ~]# tar -zxvf mysql-boost-5.7.18.tar.gz  

3.4進入到mysql目錄

[root@master ~]# cd mysql-5.7.18

四、編譯安裝MySQL

4.1 設定編譯引數

[[email protected] mysql-5.7.18]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 \
-DWITH_BOOST=boost -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 \

當最後有以下顯示說明成功, 可能上面有一些 Failed 的報錯,但是貌似是正常情況,具體情況有待考究

-- Configuring done
-- Generating done
-- Build files have been written to: /root/mysql-5.7.18

引數說明:
在mysql-5.7中,多了一個 -DWITH_BOOST=boost
在其他的版本,不需要 -DWITH_BOOST=boost

-DCMAKE_INSTALL_PREFIX=dir_name 設定mysql安裝目錄
-DMYSQL_UNIX_ADDR=file_name 設定監聽套接字路徑,這必須是一個絕對路徑名。預設為/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name  設定伺服器的字符集。
預設情況下,MySQL使用latin1的(CP1252西歐)字符集。cmake/character_sets.cmake檔案包含允許的字符集名稱列表。
-DDEFAULT_COLLATION=collation_name  設定伺服器的排序規則。
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1  儲存引擎選項:

MyISAM,MERGE,MEMORY,和CSV引擎是預設編譯到伺服器中,並不需要明確地安裝。

靜態編譯一個儲存引擎到伺服器,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的儲存引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE  
(InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name    設定mysql資料庫檔案目錄
-DMYSQL_TCP_PORT=port_num   設定mysql伺服器監聽埠,預設為3306
-DENABLE_DOWNLOADS=bool 

:重新執行配置,需要刪除CMakeCache.txt檔案

4.2編譯原始碼

建議執行完下面的命令,去喝杯茶,休息休息,因為5.7的編譯需要好幾十分鐘(我是看了一集多的權力的遊戲才編譯完),5.6的可能幾分鐘就ok了

[root@master mysql-5.7.18]# make

4.3 安裝

[root@master mysql-5.7.18]# make install

五、將mysql目錄得所有權交給mysql使用者和mysql使用者組

5.1修改mysql安裝目錄

進入到mysql安裝目錄(上面已經定義了)

[root@master mysql-5.7.18]# cd /usr/local/mysql/

賦予當前目錄下所有檔案的所有權為mysql, 注意別忘了後面的 .

[root@master mysql]# chown -R mysql:mysql .

5.2修改mysql資料庫檔案目錄

[root@master mysql]# cd /data/mysqldb/  
[root@master mysqldb]# chown -R mysql:mysql .

六、初始化mysql資料庫

進入到mysql安裝目錄

[root@master mysqldb]# cd /usr/local/mysql/

初始化mysql資料庫

[[email protected] mysql]# ./bin/mysql_install_db  --user=mysql --datadir=/data/mysqldb/  

注意: 如果是5.7以下的版本,應該這樣 // scripts/mysql_install_db –user=mysql –datadir=/data/mysqldb/

即使是5.7 上述執行後還是報錯

2017-04-30 21:57:19 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2017-04-30 21:57:48 [WARNING] The bootstrap log isn't empty:
2017-04-30 21:57:48 [WARNING] 2017-04-30T13:57:20.320409Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2017-04-30T13:57:20.329799Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2017-04-30T13:57:20.329842Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)

原因是 之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目錄下,且已被廢棄
應該這樣

[[email protected] mysql]# bin/mysqld --initialize --user=mysql --datadir=/data/mysqldb/

下面會顯示

2017-04-30T14:28:37.187266Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-04-30T14:28:40.862777Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-04-30T14:28:42.292320Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-04-30T14:28:42.589111Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 4f97ab23-2db1-11e7-9084-000c293c28f1.
2017-04-30T14:28:42.591907Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-04-30T14:28:42.594730Z 1 [Note] A temporary password is generated for [email protected]: OxxO=A0:lB_T

由上面的提示可以知道,5.7初始化會自動生成一個初始化密碼,我這裡的密碼是OxxO=A0:lB_T,一定要把密碼給記住,以後有用 若是5.5, 5.6版本的,初始化的密碼是空
注: 如果需要重新初始化,需要先刪除掉資料庫data資料夾, 例如我這裡

[root@master mysqldb]# rm -rf /data/mysqldb

七、複製mysql服務啟動配置檔案

5.7和5.6,5.7的不一樣,不能像以前一樣cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf了
*需要進入到/etc/my.cnf 修改datadir=/data/mysqldb socket=/usr/local/mysql/mysql.sock
注: /data/mysqldb為前面定義的資料存放目錄,/usr/local/mysql/ 是資料安裝目錄, log-error, pid-file 我暫時沒有修改

[[email protected] hadoop]# vim /etc/my.cnf  
最終my.cnf如下  
[mysqld]
# datadir=/var/lib/mysql
datadir=/data/mysqldb
#socket=/var/lib/mysql/mysql.sock
socket=/usr/local/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

八、複製mysql服務啟動指令碼

[root@master hadoop]# cd /usr/local/mysql/
[root@master hadoop]# cp support-files/mysql.server /etc/init.d/mysqld

九、啟動mysql服務並加入開機自啟動

啟動service mysqld start, 出現OK說明啟動成功

[root@master mysql]# service  mysqld start
Starting MySQL                                             [  OK  ]

加入開機自啟動

[root@master mysql]# chkconfig --level 35 mysqld on

十、檢查mysql服務是否啟動

1. 檢視埠有沒有被佔用

[root@master mysql]# netstat -tulnp | grep 3306
tcp        0      0 :::3306                     :::*                        LISTEN      2474/mysqld  

2. 檢視資料庫版本

[root@master mysql]# [root@master etc]# mysql --version
有可能出現
bash: mysql: command not found

這是由於系統預設會查詢/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映一個連結到/usr/bin目錄下,相當於建立一個連結檔案, /usr/local/mysql是我們的安裝目錄

[root@master mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin/

3. 登陸資料庫

賬號為-uroot, 密碼為前面初始化資料庫的時候生成的密碼

[root@master etc]# mysql -uroot -pOxxO=A0:lB_T

登陸成功

[[email protected] etc]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[[email protected] etc]# mysql -uroot -pOxxO=A0:lB_T
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.18

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

檢視資料庫

mysql> show databases;
出現You must reset your password using ALTER USER statement before executing this statement.提示需要重置密碼

重置密碼,我這裡設定成shun

mysql> SET PASSWORD = PASSWORD('shun');

退出重新登陸,成功

rpm 安裝mysql

編譯安裝實在是太麻煩了,編譯按照的好處在於可以自己定製想要的功能,rpm就方便很多


[root@master hadoop]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar

刪除已有的mysql

[root@node01 Downloads]# rpm -qa|grep mysql
mysql-libs-5.1.71-1.el6.x86_64
[root@node01 Downloads]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64

rpm安裝,最好按照我這個順序來

這些全部是上面下載的包解壓得到的


[root@node01 Downloads]# rpm -ivh  mysql-community-common-5.7.18-1.el6.x86_64.rpm
[root@node01 Downloads]# rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm
[root@node01 Downloads]# rpm -ivh mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
[root@node01 Downloads]# rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm  
[root@node01 Downloads]# rpm -ivh  mysql-community-server-5.7.18-1.el6.x86_64.rpm
[root@node01 Downloads]# rpm -ivh   mysql-community-devel-5.7.18-1.el6.x86_64.rpm
[root@node01 Downloads]# rpm -ivh  mysql-community-embedded-5.7.18-1.el6.x86_64.rpm
[root@node01 Downloads]# rpm -ivh  mysql-community-embedded-devel-5.7.18-1.el6.x86_64.rpm
[root@node01 Downloads]# rpm -ivh mysql-community-test-5.7.18-1.el6.x86_64.rpm

安裝過程中如果報下面的錯誤,說明缺少一些包

warning: mysql-community-test-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        perl(JSON) is needed by mysql-community-test-5.7.18-1.el6.x86_64
        perl(Time::HiRes) is needed by mysql-community-test-5.7.18-1.el6.x86_64 

yum 安裝依賴包

[root@node01 Downloads]# yum install perl -y
[root@node01 Downloads]# yum install perl-JSON.noarch
yum install perl-Time-HiRes

初始化資料庫

[[email protected] Downloads]# mysqld --initialize  --user=mysql
如果要自定義目錄
 --datadir=你要設定的目錄

檢視生成的密碼

[[email protected] log]# vim /var/log/mysqld.log 
顯示如下,我的使用者名稱是root, 密碼是 0a.efyjoekuF
2017-05-15T07:30:10.907363Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-05-15T08:11:33.040718Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-05-15T08:11:34.346242Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-05-15T08:11:34.547761Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-05-15T08:11:34.760728Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1c8d4b8e-3946-11e7-a555-000c29ad881f.
2017-05-15T08:11:34.836260Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-05-15T08:11:34.838073Z 1 [Note] A temporary password is generated for [email protected]: kwjoAoUmF1!e

如果有問題,想重新初始化資料庫,需要刪除datadir 的目錄(沒設定就是預設目錄)和/var/lib/mysql 目錄

啟動資料庫

[[email protected] log]# service  mysqld start
Initializing MySQL database:                               [  OK  ]
Installing validate password plugin:                       [  OK  ]
Starting mysqld:                                           [  OK  ]

檢視埠

[root@node01 log]# netstat -tulnp | grep 3306
tcp        0      0 :::3306                     :::*                        LISTEN      5255/mysqld

登入

[root@node01 mysql]# mysql -uroot -p0a.efyjoekuF

改密碼

SET PASSWORD = PASSWORD('你的密碼');  

Ubuntu apt 按照mysql5.6, 5.7

sudo apt-get install mysql-5.6
更新軟體源 
sudo apt-get update

按照提示一路走即可
安裝Mysql5.7

sudo apt-get install mysql-server-5.7

希望各位都能順利的安裝成mysql
由於作者水平有限,本文章錯漏缺點在所難免,希望讀者批評指正。

相關推薦

Centos6編譯安裝Mysql5.7.18, rpm 安裝mysql5.7.18ubuntu apt安裝mysql

關鍵字: centos 編譯安裝mysql5.7.18 rpm安裝5.7.18,ubuntu apt -get 安裝mysql 一. 編譯安裝前的準備 1.1 解除安裝原有的Mysql 在root使用者下操作 找出mysql的相關目錄

7.1 安裝軟件包的三種方法 7.2 rpm包介紹 7.3 rpm工具用法 7.4 yum工具用法

以及 url yum工具 lin cdr cdrom 刷新 查看 sea 7.1 安裝軟件包的三種方法 1.rpm工具 與Windows下的exe比較類似,安裝路徑和文件名基本上是固定好的。2.yum工具屬於Python開發的工具,操作對象是rpm包;yum工具最大的優勢

五周第一次課 7.1 安裝軟件包的三種方法 7.2 rpm包介紹 7.3 rpm工具用法 7.4

學習 打卡7.1 安裝軟件包的三種方法7.2 rpm包介紹7.3 rpm工具用法7.4 yum工具用法7.5 yum搭建本地倉庫(視頻中ppt小錯誤: gpcheck改為gpgcheck,yum cean 改為 yum clean) 1 安裝軟件包的三種方法 # rpm工具

微軟.NET Framework 4.7.1 [32+64位]完整包帶靜默安裝參數!

windows 相關軟件名稱:.NET Framework 4.7..1軟件大小:65.5M運行環境:vista+win7 靜默安裝參數:/quiet /norestart下載地址:https://pan.baidu.com/s/1qX8ktFQ微軟.NET Framework 4.7.1 [32+64位]完

ubuntu apt 安裝軟體時 出現(--configure)時出錯解決辦法

好像是因為以前在更新系統時強制中斷的原因, 後來更新軟體經常卡在一個地方不動,然後報(–configure)時出錯。 sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old # 現將info資料夾更名 sudo mkdir /var/lib/d

ubuntu apt 安裝 mpv

安裝 curl -s https://non-gnu.uvt.nl/debian/uvt_key.gpg | sudo apt-key add - sudo add-apt-repository "deb https://non-gnu.uvt.nl/debian wheezy uvt" sudo a

Ubuntu 16.04- Package has no installation candidate解決方式Ubuntu正確安裝openssl-server的方法

  Ubuntu 17.04 安裝完虛擬機器之後,如果想裝ssh軟體進行連線,發現幾乎所有的包都裝不成功。 [email protected]:/home/zengxijin# apt-get install openssh-server Reading package lists... D

IIS安裝報錯:使用了託管處理程式但是未安裝或未完整安裝 ASP.NET

今天在使用IIS部署網站的時候,出現如下錯誤, 解決方案: 開啟CMD視窗,執行以下命令: "%WINDIR%\Microsoft.NET\Framework\v4.0.30319\as

macubuntu安裝tensorflow(anacanda)

安裝前,首先翻牆,谷歌的東西,你懂得。。。。 1.安裝anacanda anacanda的好處就不用說了,集成了很多package,省得一一下載。 2.linux的ubuntu,和mac都是自帶python2.7。假如你需要python3版本的,下載anacanda3。進

Centos7.3.1611安裝mysql5.7.18 rpm教程 並設定datadir

一、解除安裝MariaDB CentOS7預設安裝MariaDB而不是MySQL,而且yum伺服器上也移除了mysql相關的軟體包。因為MariaDB和MySQL可能會衝突,故先解除安裝MariaDB。 1. 安裝新版mysql之前,我們需要將系統自帶的mariadb-lib解除安裝 [[ema

Centos7.3.1611安裝mysql5.7.18 rpm教程

零 本人的Linux系統 一 解除安裝MariaDB CentOS7預設安裝MariaDB而不是MySQL,而且yum伺服器上也移除了MySQL相關的軟體包。因為MariaDB和MySQL可能會衝突,故先解除安裝MariaDB。 1. 安裝新版

MySQL5.7.18自解壓Zip 官網下載、安裝與配置

MySQL5.7.18自解壓 Zip 官網下載與配置 ================================================== 1.進入MySQL官網下載.zip安裝包 MySQL官網地址:MySQL官網 進入後,點選導航欄【

分享:MySQL5.7原始碼安裝所有deb和rpm依賴包

     這篇文章的核心價值在於首次無網路(Internet訪問)原始碼安裝MySQL5.7的CM,沒錯,就像我個人遇到的情況一樣。如果可以外網通訊,那這裡的內容其實是一行apt或者yum命令的事情。      公司為每個員工都提供兩臺機器,一臺內網機一臺外網機,內網機沒有

mysql5.7+centos7+rpm 安裝

mysql 安裝 總用量 169476 -rw-r--r--. 1 root root 173541272 5月 13 20

[CentOS 7系列]RPM安裝

rpm 在部署服務時,我們需要安裝各種軟件包。在linux操作系統中,安裝包的方式主要有三種,分別為RPM安裝、YUM安裝和源碼包安裝。其中源碼包安裝最為復雜,其次是RPM的安裝方式。YUM是最為方便的一種方式,它是由python編寫的安裝軟件,可以自動安裝依賴包。[[email protec

mysql5.6以上(適用5.7)免安裝版本 終極配置

進入 cli x64 basedir 其他 color cnblogs ade header 1.解壓你的mysql5.6 我解壓的位置是D:\Program Files\mysql-5.6.14-winx64,你可以隨意放在任何位置,不建議解壓到C盤 2.來到你解壓的

centos6 編譯安裝httdp2.4

centos httpd2.4httpd-2.4需要較新版本的apr和apr-util,因此需要事先對其進行升級。升級方式有兩種,一種是通過源代碼編譯安裝,一種是直接升級rpm包。這裏選擇使用編譯源代碼的方式進行1、解決依賴關系yum groupinstall -y "Development Tools" "

CentOS6編譯安裝 LAMP+Wordpress--搭建自己的博客

lamp、wordpressCentOS6安裝LAMP+Wordpress--搭建自己的博客 背景: LAMP也就是Linux+Apache+Mysql(Mariadb)+PHP(Python...),這是個基本的網站架構,在學會了編譯安裝LAMP環境後,在加上Wordpress就可以搭建屬於自己

Centos6編譯安裝LAMP(FPM模塊方式)加速的WordPress應用

centos6 編譯安裝 lam p( fpm 模塊方式 ) 加速的 wordpress 應用準備軟件版本:apr-1.5.2.tar.bz2 apr-util-1.5.4.tar.bz2 httpd-2.4.27.tar.bz2 mariadb-5.5.57-linux-x86_64.tar

centos6編譯安裝httpd-2.4.28

在centos6安裝httpd-2.4.28方法一、1、安裝開發環境包組及相關包:yum groupinstall “Development Tools”yum install pcre-devel openssl-devel expat-devel 2、下載源代碼並解壓縮:rz 導入源代碼tar xvf h