mysql數據庫在Linux和windows下免安裝實現以及框架開發碰到的問題
2017年7月23號下午5:20分,上周我根據自己的實際情況,總結了mysql數據庫在windows系統下和linux系統下免安裝版本的實現,以及在項目開發中遇到的數據庫報錯,今天整理出來,以供日後學習之用,同時,我給自己制定了一個計劃,每周日會將自己本周碰到的一些問題記錄下來,在周日整理出來發布在博客上面,2017年7月23號是我的第一周,我要堅持10年,盧小朋說到做到,加油!
一、linux安裝說明
說明
- mysql-5.7.14-linux.zip部署包支持在CentOS 6.x/7.x
- 服務器硬盤大小要求
a) /data/mysql_data 如果存在該獨立分區,要求該分區 >10G
b) 如果僅存在 /data 分區, 要求該分區 >10G
c) 否則,要求根分區/ > 10G
- MySQL_INSTALL_2016-08-17_08-25-29 文件的sha256為 ecc8dbe15c120017b4f56fcffd09239e9da84128e0378979997799b3d62e8f3a
驗證方法:輸入sha256sum MySQL_INSTALL_2016-08-17_08-25-29 計算值是否一致
- 默認賬號 root 初始密碼 Gepoint 安裝完後建議項目組修改密碼
- Mysql程序目錄為/opt/mysql_data
- Mysql配置文件為/etc/my.cnf
- 建議將配置文件中########innodb settings########章節中的innodb_buffer_pool_size = 512M 修改為服務器內存大小的50%-80%
- Mysql服務器啟動命令:service mysqld start
- 停止命令:service mysqld stop
- 重啟命令: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下免安裝實現以及框架開發碰到的問題