centos環境下配置多個版本的mysql

來源:互聯網
上載者:User

標籤:

情境 :有業務需要需要 把原有版本的MySQL 升級到 更高版本的mysql。

解決方案:為了減輕mysql升級對業務產生的影響,可以在當前伺服器下 配置更高版本的mysql(多個版本的)來過渡

處理步驟: 
1、確認並梳理原有版本的資料庫和對應設定檔 
如: mysql 安裝目錄:/usr/local/mysql ,mysql 儲存的資料檔案; mysql sock檔案 :/tmp/ mysql.sock, mysql的設定檔 :/etc/my.cnf

2、建立新的mysql 的管理帳號: 
groupadd mysql3307 
useradd -g mysql3307 mysql3307 
3、新增安裝檔案並解壓檔案

     3.1 mkdir   mysql3307      mkdir  /data/mysqldb3307      3.2 mv /home/user/mysql-5.6.4.tar.gz /usr/mysql3307/mysql-5.6.4.tar.gz      tar xzvf mysql-5.6.4.tar.gz && cd mysql-5.6.4     3.3 cmake \       -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307 \        -DMYSQL_UNIX_ADDR=/tmp/mysql3307.sock \        -DDEFAULT_CHARSET=utf8 \        -DDEFAULT_COLLATION=utf8_general_ci \          -DWITH_INNOBASE_STORAGE_ENGINE=1 \         -DWITH_ARCHIVE_STORAGE_ENGINE=1 \        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \         -DMYSQL_DATADIR=/data/mysqldb3307 \         -DMYSQL_TCP_PORT=3307 \         -DENABLE_DOWNLOADS=1        3.4make && make install

4.修改mysql安裝目錄

       4.1 cd /usr/local/mysql3307          chown -R mysql:mysql      4.2 cd /data/mysqldb3307          chown -R mysql:mysql . 

5、同樣初始化資料庫

cd /usr/local/mysql   scripts/mysql_install_db --user=mysql3307 --datadir=/data/mysqldb3307  --basedir=/usr/local/mysql3307

6、複製並修改設定檔

    6.1、cp /usr/local/mysql3307/support-files/my-default.cnf   /etc/my3307.cnf      6.2、vi  my3307.cnf           指定好對應的 port  = 3307   --修改連接埠socket  = /tmp/mysql3307.sock  --修改sock# Here follows entries for some specific programs# The MySQL server[mysqld]port  = 3307socket  = /tmp/mysql3307.sock

7、啟動本次mysql服務

/usr/local/mysql3307/bin/mysqld_safe –defaults-file=/etc/my3307.cnf &

8、設定root密碼  mysqladmin -P 3307 -S/tmp/mysql3307.sock -u root password root

9、root訪問資料庫,並設定遠程操作帳號

9.1 /usr/local/mysql3307/bin/mysql -uroot -p -S/tmp/mysql3307.sock9.2 grant all on *.* to ‘mysql3307‘@‘%‘ identified by ‘mysql3307‘;

10、設定啟動指令碼並加入啟動服務中

目前操作沒有操作成功,主要發現的問題是,儘管調整了my.cnf,但是指向的mysql檔案還是會不準確,導致id_logfile 產生會出問題。理論上應該是可行,也許是讀取my.cnf存在緩衝更新,需要新更新my.cnf 在複製到 /etc/init.d/下

其它問題:

問題1:  Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).  解決:  修改/etc/my.cnf 中datadir,指向正確的mysql資料庫檔案目錄

問題2:  ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)  解決:  建立一個連結或在mysql中加入-S參數,直接指出mysql.sock位置。  ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock

/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock

MySQL問題解決:-bash:mysql:command not found  因為mysql命令的路徑在/usr/local/mysql/bin下面,所以你直接使用mysql命令時,  系統在/usr/bin下面查此命令,所以找不到了  解決辦法是:  ln -s /usr/local/mysql/bin/mysql /usr/bin 做個連結即可

問題3:修改root密碼 增加安全性  mysqladmin -u root password ‘123456’  註:也可運行安全設定指令碼,修改MySQL使用者root的密碼,同時可禁止root遠端連線,移除test資料庫和匿名使用者。  /usr/local/mysql/bin/mysql_secure_installation

 

鼎峰小胡
QQ.2881064155
[email protected]

centos環境下配置多個版本的mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.