程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> MySql 多實例配置教程

MySql 多實例配置教程

編輯:MYSQL入門知識
 

1、下載MySQL源碼安裝版 

wget -c ftp://ftp.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.1/mysql-5.1.60.tar.gz

2、解壓安裝

tar -zxv -f mysql-5.1.60.tar.gz   

./configure --prefix=/usr/local/mysql --with-charset=utf8    

--with-extra-charset=all --enable-thread-safe-client --enable-assembler    

--with-readline --with-big-tables    

--with-named-curses-libs=/usr/lib/libncursesw.so.5  

make && make install

手動創建/usr/local/mysql/var目錄   

cp /usr/local/mysql/share/mysql/my-medium.cnf /usr/local/mysql/var/my.cnf    

cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

添加服務

chkconfig --add mysqld   

chkconfig --level 2345 mysqld on   

chown mysql:mysql -R /usr/local/mysql/   

service mysqld start   

ln -s /usr/local/mysql/bin/mysql /sbin/mysql  

ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin

設定mysql密碼

mysqladmin -uroot password "123456"

 

3、添加用戶和用戶組

groupadd mysql   #添加mysql用戶組  

useradd -g mysql mysql       #創建mysql用戶並把它放到mysql組下   

chown -R root:mysql /usr/local/mysql    #修改mysql文件屬性  

groupadd mysql     #添加mysql用戶組

useradd -g mysql mysql     # 創建mysql用戶並把它放到mysql組下

chown -R root:mysql /usr/local/mysql      #修改mysql文件屬性

 

 

4、初始化數據目錄

#把用到的工具添加到/usr/bin目錄   

ln -s /usr/local/mysql/bin/mysqld_multi /usr/bin/mysqld_multi   

ln -s /usr/local/mysql/bin/mysql_install_db /usr/bin/mysql_install_db

 

#初始化四個數據目錄   

mysql_install_db --datadir=/usr/local/var/mysql1 --user=mysql   

mysql_install_db --datadir=/usr/local/var/mysql2 --user=mysql   

mysql_install_db --datadir=/usr/local/var/mysql3 --user=mysql   

mysql_install_db --datadir=/usr/local/var/mysql4 --user=mysql

初始化時可能報錯則使用

mysql_install_db --defaults-file=/data/mysql1/my.cnf --user=mysql --datadir=/data/mysql1/  --basedir=/usr/local/mysql

#修改屬性   

chown -R mysql /usr/local/var/mysql1    

chown -R mysql /usr/local/var/mysql2   

chown -R mysql /usr/local/var/mysql3    

chown -R mysql /usr/local/var/mysql4

 

 

5、配置多實例啟動腳本

從MySQL的源碼中把復制到/etc/init.d/目錄下

cp ./mysql-5.1.60/support-files/mysqld_multi.server /etc/init.d/mysqld_multi.server   

#修改basedir和bindir為安裝路徑   

basedir=/usr/local/mysql   

bindir=/usr/local/mysql/bin

 

6、配置多實例數據庫配置文件

用mysqld_multi工具查看該配置文件的模板方法,

命令為:mysqld_multi –example

在/etc/目錄下創建創建文件/etc/mysqld_multi.cnf,把mysqld_multi –example產生的文件粘進去,修改相應屬性,如:mysqld,mysqladmin,socket,port,pid-file,datadir,user等。

 

[mysqld_multi]   

mysqld     = /usr/local/mysql/bin/mysqld_safe   

mysqladmin = /usr/local/mysql/bin/mysqladmin   

#user       = mysql   

#password   = my_password   

[mysqld1]   

socket     = /usr/local/var/mysql1/mysql1.sock   

port       = 3306  

pid-file   = /usr/local/var/mysql1/mysql1.pid   

datadir    = /usr/local/var/mysql1   

#language   = /usr/local/mysql/share/mysql/english   

user       = mysql   

[mysqld2]   

socket     = /usr/local/var/mysql2/mysql2.sock   

port       = 3307  

pid-file   = /usr/local/var/mysql2/mysql2.pid   

datadir    = /usr/local/var/mysql2   

#language   = /usr/local/mysql/share/mysql/english   

user       = mysql   

[mysqld3]   

socket     = /usr/local/var/mysql3/mysql3.sock   

port       = 3308  

pid-file   = /usr/local/var/mysql3/mysql3.pid   

datadir    = /usr/local/var/mysql3   

#language   = /usr/local/mysql/share/mysql/english   

user       = mysql   

[mysqld4]   

socket     = /usr/local/var/mysql4/mysql4.sock   

port       = 3309  

pid-file   = /usr/local/var/mysql4/mysql4.pid   

datadir    = /usr/local/var/mysql4   

#language   = /usr/local/mysql/share/mysql/english   

user       = mysql

7、啟動多實例數據庫

將/usr/local/mysql/bin加到$PATH環境變量裡   

export PATH=/usr/local/mysql/bin:$PATH

#查看數據庫狀態   

mysqld_multi --defaults-extra-file=/etc/mysqld_multi.cnf report

 

#結果都為沒有運行   

Reporting MySQL servers

MySQL server from group: mysqld1 is not running

MySQL server from group: mysqld2 is not running

MySQL server from group: mysqld3 is not running

MySQL server from group: mysqld4 is not running

可能需要安裝perl

yum install perl

 

#啟動   

mysqld_multi –defaults-extra-file=/etc/mysqld_multi.cnf start

#結果為   

Reporting MySQL servers

MySQL server from group: mysqld1 is not running

MySQL server from group: mysqld2 is not running

MySQL server from group: mysqld3 is not running

MySQL server from group: mysqld4 is not running

 

#啟動具體某一個實例可在start、stop後面加上具體數據1,2,3等  

 

8、查看運行結果

#查看相應端口是否已經被監聽   

netstat -tunlp

#查看是否有活動進程   

ps -aux|grep mysql

 

9、登錄相應數據庫

#進入端口為3306的數據庫   

mysql -uroot -p -h127.0.0.1 -P3306   

mysql -uroot -p --protocol=tcp --port=3306 -h127.0.0.1

 

#通過sock文件登錄   

mysql -uroot -p -S /usr/local/var/mysql1/mysql1.sock

 

#查看socket文件   

mysql> SHOW VARIABLES LIKE 'socket';

 

#查看pid文件   

mysql> SHOW VARIABLES LIKE '%pid%';

 

帳號密碼修改

use mysql

update user set password=password<"root"> where user='root';

進入數據庫

use mysql

update user set password=password<”root”> where user=’root’;

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved