鑑於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.修改密碼
搞定!以上。