Linux(CentOS 6.5) 下安裝MySql 5.7.18 二進制版本粗淺攻略

鑑於Linux和mysql因不一樣版本,安裝方式也不一樣,因此在閱讀本攻略前,請確保各位同窗的版本和個人Linux、MySql 版本一致。html

若是不一致,只能參考。mysql

個人版本:linux

Linux CentOS 6.5 sql

MySql 5.7.18數據庫

特別提醒:MySq 5.7和5.6在安裝方式上有大不一樣,因此5.6的同窗不要看這個攻略。windows

 

 1、程序準備安全

1.進入 https://dev.mysql.com/downloads/mysql/ 網絡

          

  

選擇 Linux-Generic,根據系統是64位仍是32位選擇下載的包。tar和tar.gz都行socket

  

2.使用SecureCRT遠程登陸到Linux,並取得root權限學習

 輸入:sudo su 取得當前帳號的臨時root權限。

3.把二進制包從Windows上傳至Linux

 關於Linux和windows互傳的方法有不少,FTP和rzsz命令2種方法是主流。本文使用的是rz命令上傳(rz命令須要使用SecureCRT遠程鏈接到Linux)。

 rz詳細的使用請見:http://www.cnblogs.com/wangxiaoha/p/7059653.html

 ftp的方式請你們本身在網上搜索一下方法,爲了focus主題,本文就不涉及了。

 

4.包上傳並移動至:/usr/local/

 輸入以下兩個命令

 cd /usr/local    

    rz -be (大文件必須加-be,否則會報錯)

    彈出對話框,選擇MySql二進制包。開始上傳。

 上傳完畢後,文件的路徑應該是這樣的:

     /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

  咱們須要解壓改壓縮包。

  當前的目錄在 /usr/local/

     輸入以下命令:

   tar -zxvf  mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

   解壓完畢之後,會新增以下文件夾,文件夾裏面就是mysql的運行程序

   /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64

     爲了方便,咱們把文件夾的名字改爲mysql

     當前目錄在/usr/local/

 輸入:

     mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql

  修改完畢。

            

    4.創建一個新文件夾

      mkdir \usr\local\data\mysql

 基本工做準備完畢。

          

  PS:

  一、爲何絕大部分的mysql的安裝指導都會讓咱們 把mysql包解壓以後 ,用mv命令移到/usr/local/,而後把文件名修改成mysql呢,我的粗淺的認爲有兩點。一是約定俗成,若是之後有別的帳號登陸或者別的程序須要找mysql的程序路徑,配個你們約定俗成的地址就ok了,不用再修改。二是,usr/local這個文件夾屬於linux的公共文件夾,他的權限放得比較開,基本上有root權限操做都是開放的。可是若是把程序放在別的地方,特別是我的文件夾中,極有可能會由於各類文件權限問題而異常不斷,很是影響學習效率。之後當初學者成爲老鳥之後,你怎麼玩也行。

  二、爲何要創建一個\usr\local\data\mysql目錄。這是mysql的要求,由於它須要你指定一個地方存數據庫的數據文件。咱們之後的數據都庫表,和表裏的數據都保存在這個文件夾裏。

   

 

 第二章:安裝配置Mysql

 

  1.在linux中創建新的用戶和用戶組

          sudu su 

  取得root權限,建立mysql用戶組

   groupadd mysql

        建立mysql用戶,並屬於mysql用戶組

   useradd -r -g mysql mysql

  2.對文件夾指定全部者

         cd  /usr/local

    chown  -R mysql mysql/   將mysql文件夾的全部者指定爲mysql用戶

         chgrp -R mysql mysql/ 將mysql文件夾的全部組指定爲mysql用戶組

 

    3.新增mysql的全局配置文件

          5.7.18沒有找到默認的配置文件。這個在網上找到一個模板:

          

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]



sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

# 通常配置選項
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /var/run/mysqld/mysqld.sock
character-set-server=utf8


#下面是可選項,要不要都行,若是出現啓動錯誤,則所有註釋掉,保留最基本的配置選項,而後嘗試添加某些配置項後啓動,檢測配置項是否有誤 back_log = 300 max_connections = 3000 max_connect_errors = 50 table_open_cache = 4096 max_allowed_packet = 32M #binlog_cache_size = 4M max_heap_table_size = 128M read_rnd_buffer_size = 16M sort_buffer_size = 16M join_buffer_size = 16M thread_cache_size = 16 query_cache_size = 128M query_cache_limit = 4M ft_min_word_len = 8 thread_stack = 512K transaction_isolation = REPEATABLE-READ tmp_table_size = 128M #log-bin=mysql-bin long_query_time = 6 server_id=1 innodb_buffer_pool_size = 1G innodb_thread_concurrency = 16 innodb_log_buffer_size = 16M innodb_log_file_size = 512M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 innodb_file_per_table = on [mysqldump] quick max_allowed_packet = 32M [mysql] no-auto-rehash default-character-set=utf8 safe-updates [myisamchk] key_buffer = 16M sort_buffer_size = 16M read_buffer = 8M write_buffer = 8M [mysqlhotcopy] interactive-timeout [mysqld_safe] open-files-limit = 8192 [client]

        

    將以上的文本粘貼下來,保存爲my.cnf,並經過rz命令或ftp上傳至 etc/my.cnf,須要配置的是以下4行。

 

basedir = /usr/local/mysql                mysql的程序文件夾路徑
datadir = /usr/local/data/mysql         mysql的數據文件夾路徑
port = 3306                              數據庫的對外訪問網絡端口,通常保存默認3306
socket = /var/run/mysqld/mysqld.sock     socket鏈接執行文件的地址

以上3行都很容易理解,第4個稍微麻煩一些。到目前爲止能夠佔時忽略它。一下子來處理它

 

 3.初始化mysql

       cd /usr/local/mysql/bin

       ./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/  --datadir=/usr/local/data/mysql

       以不安全的方式初始化mysql,且指定其全部者用戶爲mysql。insecure不安全,其實就是沒有初始密碼(必須爲root權限)。對通常初學者來說,沒密碼要方面不少。

        若是一切順利,當前帳號擁有/usr/local/data/mysql的寫入權限的話,mysql程序會在data/mysql裏寫入mysql本身的數據庫。否則那會報錯。

     4.配置socket地址和處理配置文件

        還記得/etc/my.cnf文件中的這一行麼

 socket = /var/run/mysqld/mysqld.sock

 咱們如今須要查找mysql.sock這個文件到底被mysql初始化到哪裏去了,輸入以下命令:
  
 find / -name 'mysql.sock'

發現它在:
/var/lib/mysql/mysql.sock

因此

socket = /var/lib/mysql/mysql.sock

my.cnf配置完畢

在啓動mysql之前,還須要最後一步:

mv /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

PS:

1、爲何要把配置文件copy到etc文件夾。由於etc文件夾是linux的配置文件中心,幾乎大部分的配置文件都在這裏。像mysql這種有全局服務的程序來說,放入這裏方便之後的使用和操做。

 2、爲何要給mysql文件夾和文件指定專門的mysql用戶,一句話安全。若是mysql被攻破的話,黑客只能拿到mysql用戶的權限,不會影響別的系統。

第三章:啓動mysql,完成基礎設置


 1. 啓動mysql

cd /usr/local/mysql/bin

./mysqld_safe --user=mysql

/etc/init.d/mysqld restart

     

  2.鏈接mysql  

  cd /usr/local/mysql/bin 

 ./mysql -uroot -p

 提示輸入密碼,直接回車

鏈接成功!

 3.修改密碼

 

 

搞定!以上。

相關文章
相關標籤/搜索