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

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

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

RPM安裝

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

添加RPM源

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

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

最新版yum源獲取地址安全

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

下載源1socket

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

下載源2ide

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源ui

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

驗證是否安裝成功

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

卸載RPM源

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

更換默認安裝版本

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

安裝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

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版本、類型、支持系統。

這裏選擇版本是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;
相關文章
相關標籤/搜索