目錄
一.安裝開發包(使用預設CENTOS更新來源):
二.關閉iptables和SELINUX
三.安裝mysql資料庫實例
#1 .下載編譯包
2.安裝前的初始設定工作:
1).建立一個Mysql用戶
2).新建mysql下data和log子目錄
3).修改目錄的所屬者以及所屬群組權限 
4).建立mysql相關目錄並配置權限
3.解包編譯安裝
編譯資料庫一:
編譯資料庫二:
4.寫mysql設定項:
資料庫一配置:
資料庫二配置:
5.將mysql的庫檔案路徑加入系統的庫檔案搜尋路徑中
方法一:直接做軟連結
方法二:利用ldconfig導入系統庫
6.輸出mysql的頭檔到系統頭檔
7.進入對應實例的安裝路徑,初始化各自設定腳本
8.複製mysql啟動腳本到系統服務目錄,並更改腳本配置
9.系統啟動項目相關配置
10.啟動mysql
資料庫一啟動:
資料庫二啟動:
11 新增mysql指令集到系統全域變數
12. 設定初始帳號,並登陸後台:
資料庫一:
資料庫二:
13.連接埠測試:
四、問題
1、-bash : ./scripts/mysql_install_db: No such file or directory
2、cp: cannot stat `/usr/local/mysql3307/support-files/mysql.server': No such file or directory
3、env : /etc/init.d/mysqld3307: Permission denied
首頁 資料庫 mysql教程 詳細介紹MySQL之-Centos安裝多個mysql資料庫的設定實例

詳細介紹MySQL之-Centos安裝多個mysql資料庫的設定實例

Mar 11, 2017 pm 01:59 PM

Linux作業系統:centOS6.5 64bit(安裝了系統預設開發包)

#資料庫一:
MYSQL版本:mysql-5.0.56
PORT:3306
系統目錄:/usr/local/mysql3306
資料庫二:
MYSQL版本:mysql-5.1.72
PORT:3307

系統目錄:/usr/local/mysql3307

一.安裝開發包(使用預設CENTOS更新來源):

<pre name="code" class="plain"># yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl 
openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*
登入後複製

二.關閉iptables和SELINUX

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
登入後複製

三.安裝mysql資料庫實例

#1 .下載編譯包

# su -
# mkdir ~/src
# cd src
# wget http://www.php.cn/
# wget http://www.php.cn/
登入後複製

2.安裝前的初始設定工作:

1).建立一個Mysql用戶
# useradd mysql
登入後複製
2).新建mysql下data和log子目錄
# mkdir -p /usr/local/mysql{3306,3307}/data          
# mkdir -p /usr/local/mysql{3306,3307}/log
登入後複製
3).修改目錄的所屬者以及所屬群組權限 
# chown -R mysql:mysql /usr/local/mysql{3306,3307}/data/
# chown -R mysql:mysql /usr/local/mysql{3306,3307}/log/
# chmod 750 /usr/local/mysql{3306,3307}/data      
# chmod 750 /usr/local/mysql{3306,3307}/log
登入後複製
4).建立mysql相關目錄並配置權限
# mkdir -p /usr/local/mysql{3306,3307}/etc
# chown -R mysql.mysql /usr/local/mysql{3306,3307}/etc
# mkdir -p /var/run/mysqld{3306,3307}
# chown -R mysql.mysql /var/run/mysqld{3306,3307}
# mkdir -p /var/lib/mysqld{3306,3307}
# chown -R mysql.mysql /var/lib/mysqld{3306,3307}
# cp /etc/my.cnf /usr/local/mysql{3306,3307}/etc
登入後複製

3.解包編譯安裝

編譯資料庫一:
# cd ~/src
# tar -zxvf mysql-5.0.56.tar.gz    
# cd mysql-5.0.56  
./configure --prefix=/usr/local/mysql3306 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3306/etc  
--localstatedir=/usr/local/mysql3306/data --with-tcp-port=3306 -enable-assembler --with-mysqld-ldflags=-all-static 
--with-charset=utf8 --with-extra-charsets=utf-8 -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap 
--with-unix-socket-path=/tmp/mysql3306.sock
# make
# make install
登入後複製
編譯資料庫二:
# cd ~/src
# tar -zxvf mysql-5.1.71.tar.gz    
# cd mysql-5.1.71
./configure --prefix=/usr/local/mysql3307 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3307/etc  
--localstatedir=/usr/local/mysql3307/data --with-tcp-port=3307 -enable-assembler --with-mysqld-ldflags=-all-static 
--with-charset=utf8 --with-extra-charsets=utf-8 -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap 
--with-unix-socket-path=/tmp/mysql3307.sock
# make
# make install
登入後複製

4.寫mysql設定項:

資料庫一配置:
# vi /usr/local/mysql3306/etc/my.cnf
-------------------------------------------------------
[mysqld]
datadir=/usr/local/mysql3306/data
socket=/tmp/mysql3306.sock
user=mysql
port=3306
pid-file=/var/lib/mysqld3306/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections= 16384
skip-name-resolve
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 3072
thread_cache_size = 256
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
net_buffer_length = 256M
thread_stack = 8M
query_cache_size = 128M
query_cache_limit = 2M
wait_timeout=7200
interactive_timeout=7200
#log
log-error=/usr/local/mysql3306/log/error.log
log=/usr/local/mysql3306/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql3306/log/slowquery.log
log-bin= /usr/local/mysql3306/log/bin.log
expire_logs_days = 15
sync_binlog = 1
max_binlog_cache_size = 4294967295
local-infile=0
default-storage-engine=INNODB 
[mysqld_safe]
log-error=/var/log/mysqld3306.log
pid-file=/var/run/mysqld3306/mysqld.pid
登入後複製
資料庫二配置:
# vi /usr/local/mysql3307/etc/my.cnf
-------------------------------------------------------
[mysqld]
datadir=/usr/local/mysql3307/data
socket=/tmp/mysql3307.sock
user=mysql
port=3307
pid-file=/var/lib/mysqld3307/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections= 16384
skip-name-resolve
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 3072
thread_cache_size = 256
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
net_buffer_length = 256M
thread_stack = 8M
query_cache_size = 128M
query_cache_limit = 2M
wait_timeout=7200
interactive_timeout=7200
#log
log-error=/usr/local/mysql3307/log/error.log
log=/usr/local/mysql3307/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql3307/log/slowquery.log
log-bin= /usr/local/mysql3307/log/bin.log
expire_logs_days = 15
sync_binlog = 1
max_binlog_cache_size = 4294967295
local-infile=0
default-storage-engine=INNODB
[mysqld_safe]
log-error=/var/log/mysqld3307.log
pid-file=/var/run/mysqld3307/mysqld.pid
-------------------------------------------------------
登入後複製

5.將mysql的庫檔案路徑加入系統的庫檔案搜尋路徑中

方法一:直接做軟連結
# ln -s /usr/local/mysql3306/lib/mysql /usr/lib/mysql
登入後複製
方法二:利用ldconfig導入系統庫
# echo "/usr/local/mysql3306/lib" >> /etc/ld.so.conf.d/mysql.conf
# ldconfig
登入後複製

6.輸出mysql的頭檔到系統頭檔

# ln -s /usr/local/mysql3306/include/mysql /usr/include/mysql
登入後複製

註: 這裡只需將一個mysql實例的庫檔加入系統頭檔,無須多次新增

7.進入對應實例的安裝路徑,初始化各自設定腳本

資料庫一配置:
# cd /usr/local/mysql3306
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
登入後複製
資料庫二配置:
# cd /usr/local/mysql3307
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3307/data
登入後複製

8.複製mysql啟動腳本到系統服務目錄,並更改腳本配置

# cp /usr/local/mysql3306/support-files/mysql.server /etc/init.d/mysqld3306
# cp /usr/local/mysql3307/support-files/mysql.server /etc/init.d/mysqld3307
登入後複製
資料庫一配置:
# vi /etc/init.d/mysqld3006
登入後複製
basedir=/usr/local/mysql3306
datadir=/usr/local/mysql3306/data
conf=/usr/local/mysql3306/etc/my.cnf
$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
--------------------------------------------
登入後複製

如下圖紅色標註的為添加的參數:


資料庫二配置:
# vi /etc/init.d/mysqld3007
登入後複製
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
conf=/usr/local/mysql3307/etc/my.cnf
$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
--------------------------------------------
登入後複製

如下圖紅色標註的為新增的參數:


9.系統啟動項目相關配置

資料庫一配置:
# chkconfig --add mysqld3306  #添加开机启动服务
# chkconfig --level 35 mysqld3306 on  #设置mysql启动
登入後複製
資料庫二配置:
# chkconfig --add mysqld3307  
# chkconfig --level 35 mysqld3307 on
登入後複製

10.啟動mysql

資料庫一啟動:
# service mysqld3306 start
登入後複製
資料庫二啟動:
# service mysqld3307 start
登入後複製

11 新增mysql指令集到系統全域變數

註:如果系統之前未安裝mysql客戶端,可以將編譯好的mysql指令集導入系統全域變數
以後就可以直接使用mysql指令集,而不需要使用絕對路徑存取.

# echo "PATH=$PATH:/usr/local/mysql3306/bin;export PATH" >> /etc/profile
# source /etc/profile
登入後複製

12. 設定初始帳號,並登陸後台:

資料庫一:
# /usr/local/mysql3306/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3306/bin/mysql -P3306 -S/tmp/mysql3306.sock -uroot -p123456 #连接数据库
登入後複製
資料庫二:
# /usr/local/mysql3307/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3307/bin/mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456 #连接数据库
登入後複製

註: 因為加了mysql環境變數,以後系統後台可以直接使用mysql指令登入,這裡使用絕對路徑是為了規格運算

# mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456
登入後複製

13.連接埠測試:

#lsof -i:3306
#lsof -i:3307
登入後複製

OK,大功告成!

四、問題

1、-bash : ./scripts/mysql_install_db: No such file or directory

安裝過程中執行

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
登入後複製

報錯訊息為:

#
-bash: ./scripts/mysql_install_db: No such file or directory
登入後複製

說明在mysql的安裝目錄下沒有scripts目錄,此時,可以將解壓縮的源碼中的script目錄拷貝到安裝目錄下,重新執行指令。

2、cp: cannot stat `/usr/local/mysql3307/support-files/mysql.server': No such file or directory

#安裝過程中執行指令

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld3307
登入後複製

報錯訊息為:

cp: cannot stat `/usr/local/mysql3307/support-files/mysql.server&#39;: No such file or directory
登入後複製

將解壓縮的原始碼中的support-files目錄拷貝到安裝目錄下,重新執行指令

3、env : /etc/init.d/mysqld3307: Permission denied

#啟動資料庫的時候執行指令

service mysqld3307 start
登入後複製

報錯訊息為:

#
env: /etc/init.d/mysqld3307: Permission denied
登入後複製

此時要為對應的檔案授權,執行指令

chmod a+wrx /etc/init.d/mysqld3307
登入後複製

重新執行啟動MySQL資料庫服務的指令service mysqld3307 start

以上是詳細介紹MySQL之-Centos安裝多個mysql資料庫的設定實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 的大數據結構處理技巧 PHP 的大數據結構處理技巧 May 08, 2024 am 10:24 AM

PHP 的大數據結構處理技巧

如何優化 PHP 中的 MySQL 查詢效能? 如何優化 PHP 中的 MySQL 查詢效能? Jun 03, 2024 pm 08:11 PM

如何優化 PHP 中的 MySQL 查詢效能?

如何在 PHP 中使用 MySQL 備份和還原? 如何在 PHP 中使用 MySQL 備份和還原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 備份和還原?

如何使用 PHP 插入資料到 MySQL 表? 如何使用 PHP 插入資料到 MySQL 表? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入資料到 MySQL 表?

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 Dec 09, 2024 am 11:42 AM

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤

如何在 PHP 中使用 MySQL 預存程序? 如何在 PHP 中使用 MySQL 預存程序? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 預存程序?

如何使用 PHP 建立 MySQL 表? 如何使用 PHP 建立 MySQL 表? Jun 04, 2024 pm 01:57 PM

如何使用 PHP 建立 MySQL 表?

oracle資料庫和mysql的區別 oracle資料庫和mysql的區別 May 10, 2024 am 01:54 AM

oracle資料庫和mysql的區別

See all articles