1. 程式人生 > >mysql數據庫在Linux和windows下免安裝實現以及框架開發碰到的問題

mysql數據庫在Linux和windows下免安裝實現以及框架開發碰到的問題

自動啟動 過程 root mil 是否 call 啟動頁 同時 ice

2017年7月23號下午5:20分,上周我根據自己的實際情況,總結了mysql數據庫在windows系統下和linux系統下免安裝版本的實現,以及在項目開發中遇到的數據庫報錯,今天整理出來,以供日後學習之用,同時,我給自己制定了一個計劃,每周日會將自己本周碰到的一些問題記錄下來,在周日整理出來發布在博客上面,2017年7月23號是我的第一周,我要堅持10年,盧小朋說到做到,加油!

一、linux安裝說明

說明

  1. mysql-5.7.14-linux.zip部署包支持在CentOS 6.x/7.x
  2. 服務器硬盤大小要求

    a) /data/mysql_data 如果存在該獨立分區,要求該分區 >10G

    b) 如果僅存在 /data 分區, 要求該分區 >10G

    c) 否則,要求根分區/ > 10G

  1. MySQL_INSTALL_2016-08-17_08-25-29 文件的sha256為 ecc8dbe15c120017b4f56fcffd09239e9da84128e0378979997799b3d62e8f3a

   驗證方法:輸入sha256sum MySQL_INSTALL_2016-08-17_08-25-29 計算值是否一致

  1. 默認賬號 root 初始密碼 Gepoint 安裝完後建議項目組修改密碼
  2. Mysql程序目錄為/opt/mysql_data
  3. Mysql配置文件為/etc/my.cnf
  4. 建議將配置文件中########innodb settings########章節中的innodb_buffer_pool_size = 512M 修改為服務器內存大小的50%-80%
  5. Mysql服務器啟動命令:service mysqld start
  6. 停止命令:service mysqld stop
  7. 重啟命令:service mysqld restart

操作步驟

1、將mysql-5.7.14-linux.zip部署包中MySQL_INSTALL_2016-08-14_15-37-36.bin文件上傳至/opt目錄中

2、使用root賬號執行sh /opt/MySQL_INSTALL_2016-08-14_15-37-36.bin

3、請耐心等待自動安裝,不要做其他操作,直至出現下圖提示安裝完成後服務器自動重啟,重啟後mysql服務自動啟動

技術分享

至此,在linux下mysql免安裝完成

二、Windows下mysql免安裝說明

1、將免安裝的mysql文件解壓到指定盤下面,打開目錄後是下面的樣子

技術分享

2 打開my.in.i文件,修改裏面對應的配置,將紅色框區域的路徑改成你自己mysql解壓的路徑,其中innodb_buffer_pool_size = 6G 建議修改為服務器內存大小的50%-80%

技術分享

3、接下來你需要以管理員身份運行cmd,將目錄切換到mysql的安裝目錄下,進入bin目錄下,輸入以下命令進行安裝

mysqld.exe --defaults-file=D:\mysql\my.ini --user=mysql --initialize --console

技術分享

技術分享

在初始化完MySQL後會給出安裝mysql後root的隨機密碼

4、註冊服務,繼續在改命令行窗口中輸入以下命令

mysqld --install

技術分享

最後服務中啟動mysql服務即可,啟動頁面如下:

技術分享

5、在使用默認密碼登錄後使用以下命令重置密碼,其中newpassword表示重置的新密碼

alter user [email protected] identified by ‘newpassword‘;

至此,在windows下mysql免安裝完成

三、數據庫報錯記錄(基於工作流平臺開發)

1、在新增過程中會報數據庫錯誤的,執行以下腳本:alter table workflow_activity engine = InnoDB

2、模塊授權失敗問題,執行以下腳本:alter table frame_moduleauth_ou engine = InnoDB

3、數據庫Mysql報錯:Can‘t call commit when autocommit=true
是因為hibernate中使用了,commit()或者rollback(),這兩個都需要一個先決條件,就是mysql的自動提交功能要關閉。

   commit()的作用是:提交上一次提交或者回滾後的修改的內容,並釋放連接中的相關內容。
   rollback()的作用是:回滾到上一次提交或者回滾時的內容。

   上面兩個方法都只能在已禁用自動提交的模式中使用。因此,關閉mysql自動提交就可以了。
   在mysql客戶端中,執行腳本:
select @@autocommit;
   查看是否開啟了自動提交,如果為1,表明開啟了。如果是0,表明關閉。
   相應的可以以執行腳本的方式,進行關閉:
set autocommit=0;

至此、2017年7月23號周日,我的第一周博客完成,希望我可以繼續堅持......

mysql數據庫在Linux和windows下免安裝實現以及框架開發碰到的問題