1. 文檔說明
簡述mysql數(shù)據(jù)庫基礎(chǔ)安裝配置手冊,性能調(diào)優(yōu)需要結(jié)合my.cnf的參數(shù)進(jìn)行調(diào)優(yōu),將在其他文檔中進(jìn)行介紹,安裝配置需要注意mysql軟件介質(zhì)目錄和數(shù)據(jù)目錄的規(guī)劃。
2. 參考文檔
mysql reference手冊
3. 系統(tǒng)準(zhǔn)備
操作系統(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 |
| 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。
5. RPM包安裝
4.1 安裝介質(zhì)準(zhǔn)備
下載地址:https://dev.mysql.com/downloads/mysql/


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}
5.4 mysql安裝配置
上傳mysql介質(zhì)
cd /root
sftp> put mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar
解壓安裝介質(zhì)
mkdir ~/temp
tar -xvf mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar -C ~/temp
檢查是否已有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組件
cd ~/temp
[root@node1 temp]# ls -l
total 459224
-rw-r--r-- 1 7155 31415 23844312 Nov 30 00:29 mysql-community-client-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 335508 Nov 30 00:29 mysql-community-common-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 3705436 Nov 30 00:29 mysql-community-devel-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 39087268 Nov 30 00:29 mysql-community-embedded-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 135718844 Nov 30 00:30 mysql-community-embedded-devel-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 2175836 Nov 30 00:30 mysql-community-libs-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 1723224 Nov 30 00:30 mysql-community-libs-compat-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 158856732 Nov 30 00:31 mysql-community-server-5.7.17-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 104780636 Nov 30 00:32 mysql-community-test-5.7.17-1.el6.x86_64.rpm
#不需要安裝全部的rpm包,rpm包安裝時(shí)有一定的先后順序
rpm -ivh mysql-community-common-5.7.17-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.17-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.17-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.17-1.el6.x86_64.rpm
修改配置my.cnf,在使用mysql時(shí),由于rpm包安裝產(chǎn)生的文件分散在其他目錄,因此在配置my.cnf指定log-error,pid-file等這些參數(shù),在實(shí)際生產(chǎn)環(huán)境中,還是建議把這些重要的運(yùn)行文件放在指定的目錄,簡化實(shí)例管理的復(fù)雜性。
vi /etc/my.cnf
#添加修改以下內(nèi)容
[mysqld_safe]
log-error=/mysql/mysqld.log
pid-file=/mysql/mysqld.pid
[mysqld]
datadir=/mysql/data
socket=/tmp/mysqld.sock
[client]
socket=/tmp/mysqld.sock
修改配置啟動(dòng)服務(wù)
vi /etc/init.d/mysqld
#添加修改以下內(nèi)容
lockfile=/mysql/${prog}.loc
授權(quán)目錄和文件
chown mysql.mysql -R /mysql
chown mysql.mysql -R /etc/my.cnf
5.5 環(huán)境變量設(shè)置
使用rpm包安裝,不需要指定環(huán)境變量就可以使用mysql命令與實(shí)用工具。
5.6 mysql進(jìn)程啟動(dòng)
在使用linux server時(shí)盡量不應(yīng)當(dāng)使用root用戶來啟動(dòng)應(yīng)用,因此這里使用mysql用戶來啟動(dòng)mysql進(jìn)程服務(wù)。在啟動(dòng)mysql服務(wù)時(shí)會(huì)自動(dòng)根據(jù)/etc/my.cnf指定的參數(shù)進(jìn)行數(shù)據(jù)初始化,啟動(dòng)過程中會(huì)生成一個(gè)臨時(shí)性的密碼在mysqld.log文件中。
su - mysql
service mysqld start
#注意臨時(shí)生成的密碼
[mysql@node1 ~]$ ps -ef | grep mysql
root 2024 1834 0 23:26 pts/1 00:00:00 su - mysql
mysql 2025 2024 0 23:26 pts/1 00:00:00 -bash
mysql 2206 1 0 23:26 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/mysql/data --socket=/tmp/mysqld.sock --pid-file=/mysql/mysqld.pid --basedir=/usr --user=mysql
mysql 2407 2206 0 23:26 pts/1 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/mysql/data --plugin-dir=/usr/lib64/mysql/plugin --log-error=/mysql/mysqld.log --pid-file=/mysql/mysqld.pid --socket=/tmp/mysqld.sock
mysql 2460 2025 0 23:36 pts/1 00:00:00 ps -ef
mysql 2461 2025 0 23:36 pts/1 00:00:00 grep mysql
5.7 root密碼修改
初次登陸mysql需要使用mysql服務(wù)初次啟動(dòng)生成的臨時(shí)性密碼。
su – mysql
cat /mysql/mysqld.log | grep password
mysql -uroot -p
mysql> alter user 'root'@'localhost' identified by 'Mysql*123';