操作系統準備,本次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
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
3.創建mysql用戶
[root@mysqlserver mysql]# groupadd mysql [root@mysqlserver mysql]# useradd -g mysql -s/sbin/nologin -M mysql [root@mysqlserver mysql]#id mysql #檢測是否創建成功
4.創建mysql數據目錄和日誌目錄。mysql在初始化數據庫的時候會用到該數據目錄
[root@mysqlserver mysql]# mkdir /mysql /mysql/data /mysql/log
5.更改目錄權限
更改目錄權限,以便mysql在初始化時候順利進行。
[root@mysqlserver mysql]# chown -R mysql:mysql /usr/local/mysql /mysql
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.15,5.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
如果配置了my.cnf的log_error,那麼初始密碼在log_error文件中,否則會打印出來。如下圖中,紅色筆跡勾選的就是密碼。A temporary is generated forroot@localhost:-7&YUR<%ox- MySQL初始化完成後就可以使用這個密碼在本機通過root用戶登錄。
[root@mysqlserver mysql]bin/mysql_ssl_rsa_setup --datadir=/mysql/data
7.2配置啓動文件,啓動MySQL服務
Mysql的啓動文件mysql.server放在mysql源碼包中,如下目錄/usr/local/mysql/support-files,複製該文件同時改名爲mysql到/etc/init.d/mysql
[root@mysqlserver bin]cpsupport-files/mysql.server /etc/init.d/mysql
mysql啓動設置成功如下,但是啓動mysql失敗,因爲環境變量沒有配置。
7.3配置環境變量
方法一:
[root@mysqlserver mysql]# vim /etc/profile
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
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.
到此,MySQL5.7的安裝基本完成。在文章整理過程中,難免出現錯誤或者表達不當的地方,希望大家通過實際操作後指出不足,給予建議或者意見。
9.注意事項
在5.7中存儲密碼的字段不再是password了,變成了authentication_string
update mysql.user
set authentication_string=password('root') where user='root';
謝謝大家的閱讀,技術學習之路還很長,願與你一起成長!