CentOS下使用二進(jìn)制發(fā)布包安裝MySQL

寫在前面

最近需要搭建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
  1. 如果你在普通用戶權(quán)限下啟動(dòng)mysql,可能會(huì)報(bào)權(quán)限錯(cuò)誤,請(qǐng)加上sudo。
  2. 如果在啟動(dòng)過程中發(fā)現(xiàn)任何錯(cuò)誤,在/var/lib/mysql/mysql-error.log也許能找到答案;
  3. 最后記得給root用戶設(shè)置密碼。

更多參考

  1. https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
  2. https://dev.mysql.com/doc/refman/8.0/en/starting-server-troubleshooting.html
  3. https://blog.csdn.net/qq_27298687/article/details/79740399
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容