基於Centos6.5的MySQL5.7.15二進制源碼安裝

操作系統準備,本次mysql5.7實戰安裝是在Centos6.5 x86_64系統上完成。如下是系統詳情。

[root@mysqlserver ~]#uname -a
Linux mysqlserver2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64GNU/Linux
[root@mysqlserver ~]#cat /etc/redhat-release
CentOS release 6.5(Final)

1.MySQL軟件包準備

本次實戰使用,下載的是版本是mysql5.7.15社區版。安裝包下載二進制源碼免編譯的包。可以通過mysql官網下載,http://dev.mysql.com/downloads/mysql/

如下鏈接是我已經下載好保存在網盤的,也可以參考使用。

http://pan.baidu.com/s/1eSr57oQ

wKiom1gb8nXAZtxLAAB42Ycl-BQ550.png-wh_50

(官網已經更新到5.7.16了j_0059.gif

mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz

安裝包通過ftp或者secureCRT工具上傳到centos系統中

2.解壓MySQL軟件包,指定安裝目錄,修改MySQL目錄名

將mysql安裝包上傳到centos系統後,解壓軟件包。將解壓後生成的目錄,複製到/usr/local/下並改名爲mysql,/usr/local/mysql就是MySQL數據庫的安裝目錄。

[root@mysqlserver mysql]tar  xfz mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
[root@mysqlserver mysql]mv  mysql-5.7.15-linux-glibc2.5-x86_64  /usr/local/mysql
[root@mysqlserver mysql]ln -svmysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql

wKioL1gb8yezOZQbAAEvEPFO40I524.png-wh_50

3.創建mysql用戶

[root@mysqlserver mysql]# groupadd mysql
[root@mysqlserver mysql]# useradd -g mysql -s/sbin/nologin -M mysql
[root@mysqlserver mysql]#id mysql    #檢測是否創建成功

wKiom1gb812SP0gKAAC0-x54Enw809.png-wh_50

4.創建mysql數據目錄和日誌目錄。mysql在初始化數據庫的時候會用到該數據目錄

[root@mysqlserver mysql]# mkdir /mysql  /mysql/data  /mysql/log

wKioL1gb863RkVC5AAA_bzdJWTw159.png-wh_50

5.更改目錄權限

更改目錄權限,以便mysql在初始化時候順利進行。

[root@mysqlserver mysql]#
chown -R mysql:mysql /usr/local/mysql  /mysql

wKiom1gb9kvRF5z7AACddEpj4Es088.png-wh_50

6.創建my.cnf文件

[root@mysqlserver local]# vi /etc/my.cnf

配置文件如下:

    [client]

    port = 3306

    socket = /tmp/mysql.sock

    [mysqld]

    server_id=10

    port = 3306

    user = mysql

    socket = /tmp/mysql.sock

    basedir = /usr/local/mysql

    datadir = /mysql/data

    pid-file = /mysql/data/mysql.pid

    max_connections = 1000

    max_connect_errors = 1000

    table_open_cache = 1024

    max_allowed_packet = 128M

    open_files_limit = 65535

    # [innodb]

    innodb_buffer_pool_size = 1024M

    innodb_file_per_table = 1

    innodb_write_io_threads = 4

    innodb_read_io_threads = 4

    innodb_purge_threads = 2

    innodb_flush_log_at_trx_commit = 1

    innodb_log_file_size = 512M

    innodb_log_files_in_group = 2

    innodb_log_buffer_size = 16M

    innodb_max_dirty_pages_pct = 80

    innodb_lock_wait_timeout = 30

    innodb_data_file_path=ibdata1:1024M:autoextend

    ##log

    log_error = /mysql/log/mysql-error.log

    slow_query_log = 1

    long_query_time = 1

    slow_query_log_file = /mysql/log/mysql-slow.log

    sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

說明:這裏只是進行了一些簡單的配置,如果稍後需要可以自己按需添加配置

7.初始化數據庫

要點說明:在5.7.6之前初始化的方法是:

    數據庫安裝目錄/scripts/mysql_install_db--user=mysql

此次實戰操作下載的是最新的5.7.155.7.6之後的版本初始化數據庫不再使用mysql_install_db,使用

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

7.1進入數據庫目錄,以下配置都在/usr/local/mysql下,完成初始化

[root@mysqlserver mysql]bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data  --innodb_undo_tablespaces=3--explicit_defaults_for_timestamp

wKiom1gb9jTxdcGkAAKCJMF5Bmw306.png-wh_50

wKiom1gb9X6wDmIrAAA0OnwbdAA788.png-wh_50

如果配置了my.cnflog_error,那麼初始密碼在log_error文件中,否則會打印出來。如下圖中,紅色筆跡勾選的就是密碼。A temporary is generated forroot@localhost:-7&YUR<%ox-   MySQL初始化完成後就可以使用這個密碼在本機通過root用戶登錄。

wKioL1gb9hqyzYDLAAOHSHcQ1O4100.png-wh_50

[root@mysqlserver mysql]bin/mysql_ssl_rsa_setup
--datadir=/mysql/data

wKiom1gb9wPAjTRnAADqvsYgMrQ120.png-wh_50

7.2配置啓動文件,啓動MySQL服務

Mysql的啓動文件mysql.server放在mysql源碼包中,如下目錄/usr/local/mysql/support-files,複製該文件同時改名爲mysql/etc/init.d/mysql

wKiom1gb-HLiTBQ1AABF669PS-o433.png-wh_50

[root@mysqlserver bin]cpsupport-files/mysql.server /etc/init.d/mysql

wKioL1gb-OeT-NGsAABMkfXT8l8379.png-wh_50

mysql啓動設置成功如下,但是啓動mysql失敗,因爲環境變量沒有配置。

wKiom1gb-P6gQXVRAACVt7uxzuM439.png-wh_50

7.3配置環境變量

方法一:

[root@mysqlserver mysql]# vim 
/etc/profile

wKioL1gb-SHi7XToAAHDXyctFOA548.png-wh_50

mysql_home=/usr/local/mysql


PATH=$PATH:$mysql_home/bin


方法二:

[root@mysqlserver bin]#
 echo'PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile

使添加的mysql的環境變量生效

[root@mysqlserver bin]# source /etc/profile
[root@mysqlserver bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

wKiom1gb-YXQOxfLAACLL5ZjjwE613.png-wh_50

MySQL 環境變量增加內容小結

echo 'export PATH=/mysql安裝目錄/bin:$PATH'>>/etc/profile

tail -l /etc/profile

source /etc/profile

echo $PATH

7.4設置開機啓動mysql

[root@mysqlserver bin]# chkconfig --add mysql
[root@mysqlserver bin]# chkconfig mysql on
[root@mysqlserver bin]# chkconfig --list mysql
mysql           0:關閉  1:關閉  2:啓用  3:啓用  4:啓用  5:啓用  6:關閉

8.登陸數據庫

[root@mysqlserver ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.15-log MySQL Community Server(GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates.All rights reserved.
Oracle is a registered trademark of OracleCorporation and/or its
affiliates. Other names may be trademarks of theirrespective
owners.
Type 'help;' or '\h' for help. Type '\c' to clearthe current input statement.

wKiom1gb-ezBDvAgAAE7RVsaqBE653.png-wh_50

到此,MySQL5.7的安裝基本完成。在文章整理過程中,難免出現錯誤或者表達不當的地方,希望大家通過實際操作後指出不足,給予建議或者意見。

9.注意事項

5.7中存儲密碼的字段不再是password了,變成了authentication_string

update mysql.user

set authentication_string=password('root') where user='root';

謝謝大家的閱讀,技術學習之路還很長,願與你一起成長!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章