
寫在前面
最近需要搭建MySQL環(huán)境用于測(cè)試,本文主要描述使用mysql二進(jìn)制發(fā)布安裝包在CentOS下的搭建MySQL環(huán)境的步驟,供自己以后查閱,也供網(wǎng)友參考。
準(zhǔn)備環(huán)境
- 操作系統(tǒng):
shell> cat /etc/issue
CentOS release 6.5 (Final)
- MySQL版本:
mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
mysql安裝包使用的是社區(qū)版MySQL Community Server,linux-glibc2.12-x86_64。下載地址
安裝
注:以下操作會(huì)將mysql安裝到/usr/local/mysql目錄下,需要你擁有root權(quán)限。
- 下載二進(jìn)制發(fā)布安裝包
shell>wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
- 安裝MySQL依賴庫
shell> yum search libaio # search for info
shell> yum install libaio # install library
- 創(chuàng)建mysql用戶組和用戶
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
由于mysql用戶并不需要登錄,使用-r,-s參數(shù)禁止mysql用戶登錄。
- 解壓到當(dāng)前目錄
目錄結(jié)構(gòu)如下:
| Directory | Contents of Directory |
|---|---|
bin |
mysqld server, client and utility programs |
docs |
MySQL manual in Info format |
man |
Unix manual pages |
include |
Include (header) files |
lib |
Libraries |
share |
Error messages, dictionary, and SQL for database installation |
support-files |
Miscellaneous support files |
- 解壓安裝包
#可以解壓到任意目錄
shell>tar zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
#以安裝包解壓到/home/dev/opt/mysql-5.7.21-linux-glibc2.12-x86_64為例,軟連接到/usr/local/mysql
shell>ln -s /home/dev/opt/mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql
- 設(shè)置環(huán)境變量
#在/home/dev/.bash_profile添加下面語句
export PATH=$PATH:/usr/local/mysql/bin
- 初始化mysql
shell> cd /usr/local/mysql
shell> mkdir -p /var/lib/mysql
shell> chown mysql:mysql /var/lib/mysql
shell> chmod 750 /var/lib/mysql
shell> bin/mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
shell> bin/mysql_ssl_rsa_setup
- mysql配置文件
shell>mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
默認(rèn)情況下mysql會(huì)依次在以上目錄查找配置文件,這里我將配置文件放到/usr/local/mysql/etc/my.cnf下:
shell>cd /usr/local/mysql
shell>mkdir etc
shell>touch etc/my.cnf
在my.cnf中寫如以下內(nèi)容,并且你最好了解每個(gè)配置項(xiàng)的含義:
[mysqld]
# GENERAL
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-storage-engine=InnoDB
[mysqld_safe]
log-error=/var/lib/mysql/mysql-error.log
pid-file=/var/lib/mysql/mysqld.pid
[client]
socket=/var/lib/mysql/mysql.sock
- 配置開機(jī)啟動(dòng)
shell>cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
shell>chkconfig --add mysqld
檢查是否已經(jīng)配置成功:
shell> chkconfig --list | grep mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3,4,5為on表示配置成功。
測(cè)試
- 啟動(dòng)mysql
shell>sudo service mysqld start
Starting MySQL. [ OK ]
使用service的方式啟動(dòng)mysql的前提是使用ckhconfig配置mysqld,也可以手動(dòng)的方式啟動(dòng)mysql:
shell>cd /usr/local/mysql
shell>sh bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf --user=mysql &
- 查看mysql進(jìn)程
shell>ps -ef | grep mysqld
-
登錄mysql
由于初始化的時(shí)候我是使用--initialize-insecure,所有默認(rèn)root用戶沒有設(shè)置密碼,可以用root用戶無密碼登錄:
shell>mysql -uroot
- 如果你在普通用戶權(quán)限下啟動(dòng)mysql,可能會(huì)報(bào)權(quán)限錯(cuò)誤,請(qǐng)加上sudo。
- 如果在啟動(dòng)過程中發(fā)現(xiàn)任何錯(cuò)誤,在/var/lib/mysql/mysql-error.log也許能找到答案;
- 最后記得給root用戶設(shè)置密碼。