linux部署不同版本mysql


測試環境部署過程中經常會遇到同一個服務器上部署兩個不同版本的mysql數據庫,在部署過程中也會有各種各樣的問題,現將部署多版本mysql的方法總結如下:

1、下載mysql版本

http://downloads.mysql.com/archives/community/

選擇Linux - Generic 以及對應的 mysql版本,我這次安裝的是 mysql 5.6.26版本,服務器上已安裝 mysql5.5.41

 

下載頁面最下方  Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive(mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz),如果服務器是32位的就下載32位的安裝包。

 

也可以在服務器上,進入到相應目錄,使用 wget方法下載

wget --continue http://downloads.mysql.com/archives/get/file/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz  --directory-prefix=/usr/local/ --progress=bar

 

我是在 /usr/local/ 下創建了 mysql5.6/ 用於安裝mysql的目錄,與已有版本目錄不要有沖突,同時創建 /data/mysql5.6/ 用於數據庫數據目錄

 

2、下載之后,解壓安裝包

tar -zxvf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz

   然后通過cp指令復制解壓出來的文件夾草/usr/local/mysql5.6/   (一定要將安裝文件復制到mysql的安裝目錄下)

cp -fr mysql-5.6.26-linux-glibc2.5-x86_64/* mysql5.6

  

3、創建用戶(如果已創建,忽略此步驟)

    groupadd mysql           
    useradd -g mysql mysql

  

4、安裝mysql5.6.26

/usr/local/mysql5.6/scripts/mysql_install_db --basedir=/usr/local/mysql5.6 --datadir=/data/mysql5.6 --user=mysql 

  如果沒有報錯,基本就安裝完成了

 

5、配置mysql

cd /usr/local/mysql5.6
cp ./support-files/my-default.cnf ./my.cnf

  首先,打開此前服務器已有的mysql版本的my.cnf (/etc/my.cnf)

cat /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

lower_case_table_names = 1

#max_allowed_packet=50M

max_connections = 1024

character-set-server = utf8

wait_timeout = 31536000

interactive_timeout = 31536000

[mysqld_safe]
log-error = /var/test/mysqld.log

pid-file = /var/run/mysqld/mysqld.pid

  

  然后根據以上內容修改新安裝的mysql的my.cnf,主要是修改 port、datadir、basedir、log-error、pip-file、socket,修改后的my.cnf如下:

vim /usr/local/mysql5.6/my.cnf

[mysqld] port = 3316 socket = /data/mysql5.6/mysql.sock basedir = /usr/local/mysql5.6 tmpdir = /tmp/mysql5.6 datadir = /data/mysql5.6 ... [mysqld_safe] log-error = /usr/local/mysql5.6/mysqld.log pid-file = /data/mysql5.6/mysql56.pid

  以上修改后,對於不存在的目錄和文件都需要手工創建

mkdir /data/mysql5.6
touch /usr/local/mysql5.6/mysqld.log
touch /data/mysql5.6/mysql56.pid

  

6、啟動mysql5.6.26服務

/usr/local/mysql5.6/bin/mysqld_safe --defaults-file=./my.cnf --user=mysql &

  如果沒有報錯,且日志文件/usr/local/mysql5.6/mysqld.log 里沒有錯誤信息,基本就已經啟動好了,可以通過ps 查看進程

ps -ef|grep mysql

  

 

7、設置mysql訪問密碼

/usr/local/mysql5.6/bin/mysqladmin -u root -P 3316 -S /data/mysql5.6/mysql.sock password 'root123'

  這個密碼設置后只允許localhost本地訪問,還需要設置mysql遠程訪問,首先進入mysql

mysql -u root  --socket=/data/mysql5.6/mysql.sock  --port=3316 -p
--提示輸入密碼,輸入 root123

mysql>grant all PRIVILEGES on *.* to root@'%' identified by 'root123456';
--設置之后需要刷新配置
mysql>flush privileges;

mysql>exit

  grant 是數據庫用於賦予用戶權限的方法

grant 權限1,權限2,…權限n on 數據庫名稱.表名稱 to 用戶名@用戶地址 identified by ‘連接口令’;

  

8、客戶端連接,在客戶端就可以使用navicat等工具配置連接進行數據庫操作了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM