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:mysqlmy.ini --user=mysql --initialize --console
在初始化完MySQL后会给出安装mysql后root的随机密码
4、注册服务,继续在改命令行窗口中输入以下命令
mysqld --install
最后服务中启动mysql服务即可,启动页面如下:
5、在使用默认密码登录后使用以下命令重置密码,其中newpassword表示重置的新密码
alter user 'root'@'localhost' 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号周日,我的第一周博客完成,希望我可以继续坚持......