1. 文檔說明
簡述mysql數(shù)據(jù)庫基礎(chǔ)安裝配置手冊,性能調(diào)優(yōu)需要結(jié)合my.cnf的參數(shù)進行調(diào)優(yōu),將在其他文檔中進行介紹,安裝配置需要注意mysql軟件介質(zhì)目錄和數(shù)據(jù)目錄的規(guī)劃。
2. 參考文檔
mysql reference手冊
3. 系統(tǒng)準備
操作系統(tǒng):centos 6.5(mini desktop安裝)
mysql:mysql 5.7.{16,17,18}
| Item | Item Content |
|---|---|
| IP | 192.168.4.192 |
| HOSTNAME | node2.mono |
| MYSQL_HOME | /opt/mysql/5.7.16 |
| DATA DIR | /mysql/data |
| BINLOG DIR | /mysql/binlog |
| MY.CNF DIR | /etc/my.cnf |
Notes:mysql數(shù)據(jù)庫對目錄結(jié)構(gòu)并無要求,操作中使用結(jié)構(gòu)清晰的目錄方便理解和操作簡便性;除了RPM包安裝不能使用自定義MYSQL_HOME,其他安裝配置方式都可以自定義MYSQL_HOME。
4. 二進制包安裝
4.1 安裝介質(zhì)準備
下載地址:https://dev.mysql.com/downloads/mysql/

image.png
4.2 系統(tǒng)用戶創(chuàng)建
groupadd -g 270 mysql
useradd -u 271 -g mysql -s /bin/bash -d /home/mysql -m mysql
4.3 相關(guān)目錄創(chuàng)建
mkdir -p /mysql/{data,binlog}
mkdir -p /opt/mysql/5.7.18
4.4 mysql安裝配置
檢查是否已有mysql組件
[root@node1 ~]# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
卸載已經(jīng)存在的mysql組件
rpm -e mysql-libs-5.1.71-1.el6.x86_64 –nodeps
上傳mysql介質(zhì)
cd /root
sftp> put mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
解壓mysql介質(zhì)到指定MYSQL_HOME目錄
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /opt/mysql/5.7.18/ --strip-component=1
--strip-component=1參數(shù)表示文件目錄深度,這里=1表示過濾掉第一級目錄
配置my.cnf文件,5.7.18的二進制包并沒有my-default.cnf,可以自己建立。
cd /opt/mysql/5.7.18/support-files/
cp my-default.cnf /etc/my.cnf
vi /etc/my.cnf
#添加修改以下內(nèi)容
[mysqld_safe]
log-error = /mysql/mysqld.log
[mysqld]
basedir = /opt/mysql/5.7.18
datadir = /mysql/data
port = 3306
server_id = 1
socket = /tmp/mysqld.sock
[client]
socket = /tmp/mysqld.sock
配置mysql服務(wù)
cd /opt/mysql/5.7.18/support-files/
cp mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
#修改以下內(nèi)容
basedir=/opt/mysql/5.7.18
datadir=/mysql/data
lockdir='/mysql'
lock_file_path="$lockdir/mysqld.loc"
授權(quán)目錄和文件
chown mysql.mysql -R /mysql
chown mysql.mysql -R /opt/mysql
chown mysql.mysql -R /etc/my.cnf
chown mysql.mysql -R /etc/init.d/mysqld
4.5 環(huán)境變量配置
su – mysql
vi ~/.bash_profile
添加和修改以下內(nèi)容
# Set for mysql database
export MYSQL_HOME=/opt/mysql/5.7.18
PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin
生效環(huán)境變量
source ~/.bash_profile
4.6 mysql初始化數(shù)據(jù)
mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
#不指定defauls-file也可以,/etc/my.cnf會被優(yōu)先讀取,如果指定了defaults-file則必須放在第一個選項;注意看最后一行信息,mysql會生成臨時密碼,登陸后進行修改。
2017-04-10T17:33:52.594053Z 1 [Note] A temporary password is generated for root@localhost: TIQU#*2*c#1A
4.7 mysql進程啟動
[mysql@node1 ~]$ /etc/init.d/mysqld start
Starting MySQL. [ OK ]
#進程確認
ps -ef | grep mysql
root 2222 1832 0 01:24 pts/1 00:00:00 su - mysql
mysql 2223 2222 0 01:24 pts/1 00:00:00 -bash
mysql 2363 1 0 01:37 pts/1 00:00:00 /bin/sh /opt/mysql/5.7.18/bin/mysqld_safe --datadir=/mysql/data --pid-file=/mysql/data/node1.mono.pid
mysql 2558 2363 1 01:37 pts/1 00:00:00 /opt/mysql/5.7.18/bin/mysqld --basedir=/opt/mysql/5.7.18 --datadir=/mysql/data --plugin-dir=/opt/mysql/5.7.18/lib/plugin --log-error=/mysql/mysqld.log --pid-file=/mysql/data/node1.mono.pid --socket=/tmp/mysqld.sock --port=3306
mysql 2591 2223 1 01:38 pts/1 00:00:00 ps -ef
mysql 2592 2223 0 01:38 pts/1 00:00:00 grep mysql
關(guān)閉mysql進程
/etc/init.d/mysqld stop
Shutting down MySQL.. [ OK ]
4.8 root密碼修改
mysql -uroot -hlocalhost -p
mysql> alter user 'root'@'localhost' identified by 'mysql*123';
mysql> flush privileges;