當前位置:
首頁 > 知識 > Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

目前最常用的MySQL安裝方法也就是採用Yum安裝RPM包,或者編譯安裝。這裡將記錄關於在CentOS上安裝MySQL歷史版本的方法。


RPM安裝

這裡使用CentOS系統,使用Yum快捷安裝解決依賴

添加RPM源

官方yum源歷史版本獲取地址

http://repo.mysql.com/yum/

最新版yum源獲取地址

http://dev.mysql.com/downloads/repo/yum/

下載源1

wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm

下載源2

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 可以替換其中的發行版本序號下載指定的版本
wget http://dev.mysql.com/get/mysqlXX-community-release-elXX-XX.noarch.rpm

安裝源

安裝RPM源

yum localinstall mysql57-community-release-el7-10.noarch.rpm

驗證是否安裝成功

yum repolist enabled | grep "mysql.*-community.*"

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

卸載RPM源

rpm -qa|grep mysql
rpm -e mysql57-community-release-el7-10.noarch

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

更換默認安裝版本

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

MySQL官方默認源採用最新版本,可以通過修改RPM文件來實現。

官網文檔參照

https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-select-series

推薦編輯文件來指定版本

vi /etc/yum.repos.d/mysql-community.repo

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

安裝MySQL

yum install mysql-community-server

啟動MySQL

systemctl start mysqld

開機自啟

# 開啟 MySQL 服務自啟
systemctl enable mysqld
# 重載所有修改過的配置文件
systemctl daemon-reload

修改ROOT密碼

grep "temporary password" /var/log/mysqld.log

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

ALTER USER "root"@"localhost" IDENTIFIED BY "39hIgAmA3w8L61_";

開啟遠程許可權

方便用戶遠程操作,安全性不推薦自行把握。可以設定指定IP訪問。

新增用戶ROOT用戶方式

GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "39hIgAmA3w8L61_" WITH GRANT OPTION;

修改Host欄位方式

update mysql.user set host="%" where user="root" and host="localhost" LIMIT 1;
flush privileges;

編譯安裝

針對更多個性化的配置,配置多個版本共存時推薦的方式。

獲取對應版本

mysql社區版服務端 下https://downloads.mysql.com/archives/community/

在這裡可以選擇mysql版本、類型、支持系統。

Linux/CentOS安裝MySQL(RPM安裝、編譯安裝)

這裡選擇版本是5.5.4(其他版本大致相同),在linux系下運行的源碼。

下載並解壓進入其目錄

wget https://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.40.tar.gz
tar -xzf mysql-5.5.40.tar.gz
cd mysql-5.5.40

預編譯配置

使用 cmake 進行編譯,如果未安裝,請安裝cmake及相關依賴庫。

yum install -y cmake gcc g++ make m4 bison ncurses-devel

創建構造目錄

mkdir build
cd build

參數說明:

  • 默認安裝的位置是 /usr/local/mysql/,如果需要修改可以指定他為其他路徑位置。 例如:

    # cmake . -DCMAKE_INSTALL_PREFIX=your_custom_location

  • 默認安裝的數據目錄是 /usr/local/mysql/data/,你可以通過修改

    MYSQL_DATADIR

    選項來修改路徑。 例如:

    # cmake . -DMYSQL_DATADIR=your_custom_location

  • 編譯更多配置參考MySQL官網文檔 https://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.5/en/source-configuration-options.html

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/mysql5.5
-DSYSCONFDIR=/usr/local/mysql/mysql5.5
-DMYSQL_DATADIR=/mnt/data/mysql/mysql5.5
-DMYSQL_UNIX_ADDR=/tmp/mysqld55.sock
-DMYSQL_TCP_PORT=3306
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DWITH_EMBEDDED_SERVER=1
-DENABLED_LOCAL_INFILE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1

編譯

make && make install

編譯後初始化配置工作

useradd mysql
groupadd mysql
cd /usr/local/mysql/mysql5.5
chown -R mysql .
chgrp -R mysql .
#二選一命令
#1.
scripts/mysql_install_db --user=mysql
chown -R root .
#2.
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/mysql5.5 --datadir=/mnt/data/mysql/mysql5.5 --defaults-file=/usr/local/mysql/mysql5.5/my.cnf
chown -R mysql /mnt/data/mysql/mysql5.5
#複製配置文件
cp support-files/my-medium.cnf ./my.cnf
#將服務啟動腳本複製到系統目錄
cp support-files/mysql.server /etc/init.d/mysqld
chmod u+x /etc/init.d/mysqld
chkconfig --add mysqld
#刪除默認my.cnf
rm -f /etc/my.cnf

錯誤解決

Installation of system tables failed! Examine the logs in
/var/lib/mysql for more information.

https://serverfault.com/questions/523206/ubuntu-mysql-server-connection

sudo mv /var/lib/mysql /var/lib/mysql_bak
sudo mysql_install_db
sudo /etc/init.d/mysql start
sudo netstat -anp | grep 3306

還有就是socket文件的寫入許可權,可通過 my.cnf 確定

socket = /tmp/mysqld55.sock
touch /tmp/mysqld55.sock
chown mysql:mysql /tmp/mysqld55.sock
chmod 775 /tmp/mysqld55.sock
rm -f /tmp/mysqld55.sock

刪除系統內置或殘留my.cnf

rm -f /etc/my.cnf

http://blog.51cto.com/732233048/1636409

MySQL服務控制

啟動服務 service mysqld start

關閉服務 service mysqld stop

重啟服務 service mysqld restart

修改root密碼

首先啟動mysql服務

service mysqld start

連接mysql

./bin/mysql
#設置root新密碼(低版本mysql使用,5.7以後推薦使用ALTER 或者修改authentication_string欄位)
set password = password("root");
#清除系統空用戶
use mysql;
delete from user where user = "";
flush privileges;

設置遠程訪問許可權

GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "rootmima" WITH GRANT OPTION;

作者:Eller

原文:https://my.oschina.net/u/2366984/blog/2992772

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

安裝weblogic不同版本對JDK和Spring的支持度
CSS選擇器權重計算規則

TAG:程序員小新人學習 |