windows平台下MySql启动时的1067错误

首先我安装的是mysql-installer-community-5.7.4.0-m14.1411728256.msi,安装了和MySQL开发有关的很多组件,MySQL WorkBench很强大,有图形化的MySQL服务的监控,查询,日志,状态等信息。

然后在MySQL存放数据的文件夹下找到my.ini文件(我的目录是E:\ProgramData\MySQL\MySQL Server 5.7\my.ini),在my.ini中添加配置项:

例如:tmpdir = “E:/ProgramData/MySQL/MySQL Server 5.7/temp”

指定一个临时目录。然后重启服务应该就OK了。

问题的原因是MySQL安装时没有自动制定这样一个temp文件夹(在配置的时候不要忘了给temp路径加上双引号

另外如果这样不能解决问题的话,错误的日志在E:\ProgramData\MySQL\MySQL Server 5.7\data\AIBB.err,AIBB是计算机的名字,可以通过日志查看具体的报错信息。

ADB常用命令

前几天参加了公司组织的Android兴趣小组的培训,里面讲到了很多Android ADB中常用的命令,有些是很实用的,整理一下以备后用。

进入adb shell: android shell

查看日志:adb? logcat

重新挂载文件系统为可写:adb? remount

adb pull remote local:adb -d pull /storage/sdcard1/ceshi.txt e:/temp

adb push local to remote:adb push ceshi.txt /storage/sdcard1

adb install XXX.apk:adb -e install XXX.apk

adb uninstall packagename:adb -e uninstall com.thunisoft.app

pm list packages|grap XXX:pm list packages| grep thunisoft

pm path <packagename>:pm path com.thunisoft.beijingPerson.search

am start <Intent> :am start com.thunisoft.beijingPrison.XXX/.MainActivity

am broadcast <Intent>:am broadcast -a android.intent.action.BOOT_COMPLETED

Monkey -p? <package> exetimes:monkey -p con,thunisoft.beijingPersion.XXX 100

 

版本控制工具之GIT

从参加工作以来,在公司一直使用的版本控制工具都是SVN。前段时间开始做Android项目后需要从GitHub上download很多一些很好的开源框架来作为组件使用,这样就需要用GitHub来clone代码(当然直接下载ZIP包也是可以的),所以就在自己笔记本上安装了GIT,现将一些GIT的安装和使用资料整理如下:

首先GIT是在Linux上诞生的,如果需要在Windows上安装GIT的话就需要下载Windows版的GIT,并且为了方便使用一般都又安装了TortoiseGit工具。

GIT For Windows下载官网是:http://msysgit.github.io/

GIT安装教程(包括TortoiseGit):http://blog.csdn.net/aaron_luchen/article/details/10498181

如果需要在eclipse或MyEclipse中集成git的插件,就需要集成EGit插件,

egit插件下载地址:http://www.eclipse.org/egit/

如果插件安装后在IDE window-preferences-team下没看到GIT选项或者是有GIT选项但是用GIT管理的项目没有显示git label(标示文件状态的图标),那么就极有可能是egit插件版本和eclipse版本不一致,请参考:http://wiki.eclipse.org/EGit/FAQ#Where_can_I_find_older_releases_of_EGit.3F

EGIT的使用参考:http://wiki.eclipse.org/Es:EGit/Es:User_Guide

最后分享一个学习GIT很好的博客:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

关于GIT是是怎样管理文件对象的,请参考:

http://gitbook.liuhui998.com/7_1.html

 

一个应用是怎么在Android系统中运行的

以前一直听说Android是基于Linux操作系统的基础上修改而来的,是阉割版的Linux。但是一个APP是怎样在Android上运行的,资源怎么分配,和Linux又有什么关系还是不得而知。直到前几天在看android的官方API才直到了一点答案。现将API中的原话摘录如下:

“Android应用程序以java作为开发语言。用Android SDK 提供的工具,可以将应用程序所需要的数据和资源文件打包到一个android包文件中,这个文件用.apk作为扩展名。所有代码都在单个.apk文件中,这个文件就是通常安装在Android设备中的应用. 一旦安装到了一个设备,每个应用生存在它自己的安全沙箱中。

  • 一个Android系统是一个多用户的Linux系统,其中的每个应用都是一个不同的用户。
  • 默认情况下,系统给每个应用分配一个独立的Linux用户ID(这个ID只由系统使用并且对应用来说是不可知的),系统给在某个应用中的所有文件设置了权限,所以只有分配了那个用户ID的应用才能访问它们
  • 每个进程拥有它自己的虚拟机,所以一个应用代码的运行,与其他应用代码的运行是隔离的.
  • 默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任意代码开始执行时,Android启动一个进程,而当不再需要此进程而其它应用程序又需要系统资源时,则关闭这个进程。

通过这种方法,Android系统实现了最小特权原则。默认,每个应用仅仅访问需要工作的组件,并不多做其他的事。这样创建了一个非常安全的环境,应用不能访问系统没有授权的其他部分.

然而,应用可以有多种方法来与其他应用,共享数据及访问系统服务:

  • 有可能安排两个应用共用一个linux系统ID,在那种情况下,它们能互相访问相互的数据。为了节约系统资源,拥用相同用户ID的应用,可能也被安排运行在同一个Linux进程中并共享相同的VM(应用必须被签名成同样的认证)。
  • 所用应用能请求允许访问硬件数据,比如像用户通信录,SMS消息及可挂载的存储设备(SD card),摄像头,蓝牙等,所有应用的权限必须在用户安装时被许可。”