首页 > 代码库 > mysql数据库在Linux和windows下免安装实现以及框架开发碰到的问题

mysql数据库在Linux和windows下免安装实现以及框架开发碰到的问题

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 ‘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号周日,我的第一周博客完成,希望我可以继续坚持......

 

mysql数据库在Linux和windows下免安装实现以及框架开发碰到的问题