一、MySQL版本的選擇
- 推薦選擇MySQL官方版本,且選擇MySQL5.6以后的版本。
- 如選擇Percona版本(例如5.6版本使用線程池等),但在5.6版本以后,官方版MySQL集成了Percon之前的優化。
- 不建議選擇MariaDB:無INNODB;且核心代碼較老
- MySQL在5.6以后不斷重構源碼,安裝包越來越大,功能和性能在持續改進
二、下載
MySQL官網:https://www.mysql.com/ 建議大家經常查看是否有更新及相關技術大牛文章
社區GA版下載地址:https://www.mysql.com/
選擇版本:例如Linux版本可以按照如下方式選擇(版本、操作系統、操作系統版本)
下載完成后將其上傳,如上傳至/usr/local目錄下。
三、安裝
總體安裝步驟概述如下:
- 操作系統等相關配置設置
- 安裝依賴包
- 創建用戶
- 修改配置文件、創建相關數據目錄、日志目錄等並授權
- 運行安裝命令,啟動數據庫
- 配置環境變量、服務等(看需要)
1.操作系統等相關配置設置
查看CPU、內存、SSL版本、硬盤大小
# 查看物理CPU個數
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看邏輯CPU的個數
cat /proc/cpuinfo| grep "processor"| wc -l
# 查看CPU信息(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# 查看內存:
cat /proc/meminfo
# 查看ssl版本
openssl version
#查看硬盤大小
df -lh
# 修改防火牆
service iptables stop
chkconfig iptables off
#修改selinux
vim /etc/selinux/config
,SELINUX=disabled
setenforce 0 ## 不重啟機器生效
# 修改文件限制等
vim /etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535
或
ulimit -n 65535 (sudo sh -c "ulimit -a"檢查)
--------------------------------
vim /etc/sysctl.conf
kernel.sem=250 32000 100 128
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
2. 生產環境安裝對應包
yum install -y epel-release
yum install -y glibc gcc gcc-c++ openssl-devel autoconf automake cmake bison make ncurses-devel numactl numactl-devel
yum install -y libtool-ltdl-devel* zlib* libxml* fiex*
yum install -y libaio libaio-devel libmcrypt libmcrypt-devel mcrypt mhash
3.創建用戶
groupadd mysql
useradd -r -g mysql mysql
4.修改配置文件、創建相關數據目錄、日志目錄等並授權
# 切換到mysql安裝包目錄,並解壓安裝包
cd /usr/local
tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
# 創建軟連接 (以便於后期升級、或安裝多實例等),並修改權限
ln -s mysql-5.6.40-linux-glibc2.12-x86_64 mysql5.6
chown -R mysql . # 注意 .為當前目錄的意思
chgrp -R root . # 注意 .為當前目錄的意思
# 創建數據目錄、日志目錄、配置文件目錄及臨時文件目錄並授權
mkdir -p /data/mysql/mysql4406/{data,logs,etc,tmp} # 一次性創建多個目錄,4406端口號(默認端口號為3306)
# 修改配置文件 (根據實際情況修改)
主要參數配置如下,生產環境需要根據實際情況修改,配置參數說明請參見下一篇博文
vi /data/mysql/mysql4406/etc/my4406.cnf
[mysqld]
server-id=4406
port=4406
basedir=/usr/local/mysql5.6
datadir=/data/mysql/mysql4406/data
socket=/data/mysql/mysql4406/tmp/mysql4406.sock
log-error=/data/mysql/mysql4406/logs/mysqld4406.log
pid-file=/data/mysql/mysql4406/tmp/mysqld4406.pid
character-set-server=utf8
max_binlog_size =1G
log-bin=/data/mysql/mysql4406/logs/mysql-bin
binlog-format=row
expire_logs_days=7
sync_binlog=1
binlog_cache_size= 128M
[client]
port=4406
socket=/data/mysql/mysql4406/tmp/mysql4406.sock
# 修改權限
chown -R mysql:mysql /data/mysql/mysql4406
5. 安裝MySQL
做完上面一系列准備工作后,終於迎來了MySQL安裝操作
# 進入MySQL安裝包所在目錄,指定配置文件及用戶進行安裝
scripts/mysql_install_db --defaults-file=/data/mysql/mysql4406/etc/my4406.cnf --user=mysql
如出現OK且無其他錯誤信息,即安裝成功
6.如果需要配置服務(如進行開機自啟動等),可以進行配置,生產環境上如有多個實例等不建議如此配置
cp support-files/mysql.server /etc/init.d/mysqld
再將其中的basedir 、datadir路徑及conf配置文件名等進行修改(如機器上只配置一個MySQL實例無需修改)
6. 開啟MySQL
# 指定配置文件啟動數據庫(推薦),並在后台運行(執行下面命令時多次回車,專為小白而備注)
/usr/local/mysql5.6/bin/mysqld_safe --defaults-file=/data/mysql/mysql4406/etc/my4406.cnf &
# 服務方式啟動(建議第一種方式,如此機器上只有一個mysql實例可以采用如下方式啟動,多實例將在后續介紹)
/etc/init.d/mysqld start
7. 配置環境變量(看需要,如不配置,則運行mysql相關命令需要輸入全路徑)
vi /ect/profile
# 末尾追加如下信息
export PATH=$PATH:/usr/local/mysql5.6/bin
export PATH
# 使環境變量生效
source /etc/profile
四、登錄MySQL,修改密碼,創建賬號及授權等
1. 登錄mysql
說明: mysql5.6版本安裝后默認root密碼為空,即不輸入密碼即可進入,如下所示,其中-uroot 指 登錄用戶名,-P4406 表示端口號為4406(默認3306,當為3306時 可以不輸入),--socket=/data/mysql/mysql4406/tmp/mysql4406.sock 為指定套接字方式登錄(--socket可以寫作-S)
如果采用默認端口3306 ,則輸入 mysql即可登錄
2. 修改密碼
# 修改當前賬號密碼
mysql> set password=password('123456');
mysql> flush privileges; # 刷新權限
3.創建賬號並授權
# 創建超級管理員賬號
mysql> grant all on *.* to root@'%' identified by '123456' with grant option;
說明: all表示所有權限
root為賬號名,‘%’表示所有主機可以連接(mysql賬號有賬號名及主機組成一個用戶名,相同賬號不用主機屬於不同用戶)
identified by '123456' 表示設置密碼為123456
with grant option 表示該賬號有授權的權限,all權限不包含授權權限
# 創建查詢賬號
mysql> grant select on *.* to query@'%' identified by 'query';
mysql> flush privileges;
至此,mysql 5.6版本的安裝,配置以及簡單的創建賬號等操作就完成了,具體日常操作命令將在后續推出。
總體說明:
后續新建的mysql實例建議安裝mysql5.7及后續版本,且持續關注新版本信息。
耿小廚已開通個人微信公眾號,想進一步溝通或想了解其他文章的同學可以關注我