雙msyql安裝

在測試環境中,爲了節約資源,大部分會選擇一臺服務器上安裝多臺msyql,既不影響正常使用,也可以節約資源,一舉兩得


一:創建mysql編譯目錄

groupadd   mysql

useradd   -s  /sbin/nologin   -M -g  mysql        #      -M不建立家目錄 /home/mysql
  mkdir /opt/mysql3307               #mysql安裝目錄
  mkdir /opt/mysql3307/data        #mysql數據庫文件存放目錄
  mkdir /opt/mysql3307/tmp         #socket文件目錄
  chown -R mysql:mysql /opt/mysql3307
 

二:mysql的源碼編譯

yum install   -y  cmake

yum  install   -y ncurses-devel
  tar xvf mysql-5.6.tar.gz  
  cd mysql-5.6
  rm CMakeCache.txt   #若之前執行過cmake,可刪除該文件重新執行cmake     

注意:sock的路徑可以改,但是文件名必須是mysql.sock,改成mysql3307.sock之後,數據庫無法啓動(經過多次安裝測試所得)


  cmake  -DCMAKE_INSTALL_PREFIX=/opt/mysql3307 -DMYSQL_UNIX_ADDR=/opt/mysql3307/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/opt/mysql3307/data -DMYSQL_TCP_PORT=3307 -DMYSQL_USER=mysql
  make   
  make install

三:編譯完成後,安裝數據庫
 cd /opt/mysql3307    
 #cp support-files/my-medium.cnf ./my.cnf        執行mysql_install_db時會自動生成my.cnf文件,默認在/etc目錄下,非必要

 數據庫初始化

 ./scripts/mysql_install_db --user=mysql  --basedir=/opt/mysql3307  --datadir=/opt/mysql3307/data 

./bin/mysqld --initialize   --user=mysql --basedir=/opt/mysql3307  --datadir=/opt/mysql3307/data        5.7以上使用該命令初始化

四:修改my.conf配置文件
[mysqld]
datadir=/opt/mysql3307/data
socket=/opt/mysql3307/tmp/mysql.sock

五:配置自啓動
 #將mysql的啓動服務添加到系統服務中     
 # cp support-files/mysql.server /etc/init.d/mysql3307.server

開機自啓動:(chkconfig 命令redhat系統的,其他系統可能沒有,具體再扯對應系統解決方案)

     賦予執行權限:chmod +x /etc/init.d/mysql3307.server

     添加服務:chkconfig --add mysql3307.server

     顯示服務列表:chkconfig --list

       如果看到mysql的服務,並且3,4,5都是on的話則成功,如果是off,則鍵入

    chkconfig --level 345 mysql3307.server on

六:編輯mysql3307.server:
 basedir=/opt/mysql3307
 datadir=/opt/mysql3307/data
 #conf=/etc/my.cnf    默認配置文件
 conf=/opt/mysql3307/my.cnf

七:啓動mysql數據庫
   方式一:啓動3307數據庫
   /opt/mysql3307/bin/mysqld_safe          # 若沒有啓動參數,則使用cmake時的參數    --datadir=/opt/mysql3307/data --  socket=/opt/mysql3307/mysql.sock \
--pid-file=/opt/mysql3307/mysqld3307.pid \
--log-error=/var/log/mysqld3307.log \
--basedir=/opt/mysql3307 --user=mysql --port=3307 &
  方式二:
 #現在可以使用下面的命令啓動mysql     
 # service mysql3307.server start     
 # #停止mysql服務     
 # service mysql3307.server stop     
 # #重啓mysql服務     
 # service mysql3307.server restart  

無密碼啓動

mysqld_safe  --user=mysql --skip-grant-tables --skip-networking &

 

八:登錄數據庫
 #mysql -u root --socket=/opt/mysql3307/mysql.sock --port=3307 -p
 因爲兩個數據庫,需要置頂socket進行啓動。第一次登陸沒有密碼,直接回車即可。
 停止3307數據庫
 #mysqladmin  -u root --socket=/var/lib/mysql3307/mysql.sock --port=3307 -p shutdown

九:修改root密碼
 mysql> use mysql;
 mysql> update user set password=password('root123') where user='root';
 mysql> FLUSH PRIVILEGES;

十:修改主機訪問權限(可選)
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root123' WI
 TH GRANT OPTION;
 FLUSH PRIVILEGES;
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章