1. 去官网下载
MySQL-server-5.5.29-1.rhel5.i386.rpm
MySQL-client-5.5.29-1.rhel5.i386.rpm
和大哥Oracle不同(server包含了client),小弟的server是server,client是client。
如果不安装client,连mysql(登录用)、mysqladmin(关闭用)命令都没有,所以都需要安装。
2. rpm安装,双击,一切都是自动完成,没有可配置的选项
安装完后:
1) 并没有一个所谓的安装路径,所有文件分散在系统中。。。(这点好不习惯。。,估计是希望用户把mysql看作系统的一部分,不然也就不会有yum安装方式了)
2) 用root用户安装,但是会自动创建一个mysql用户,这个用户将被作为数据库进程的启动用户(大概是出于安全的考虑吧)
3) 如果想卸载:
rpm -qa |grep -i mysql
rpm -e MySQL-server-5.1.17-0.glibc23
3. 启动 mysqld_safe
登录 mysql -u root
关闭 mysqladmin shutdown
参考 http://blog.csdn.net/iquicksandi/article/details/7272226
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
- —软件人才免语言低担保 赴美带薪读研!—
1. 判断字符串str是否为空
Approach 1:如果字符串长度为0,说明字符串为空,code如下:
isNull = (len(str)==0)
2.取子串
str="abcdef"
str2 = str[index1:index2]
str2是str从下标index1开始,到index2-1结束的连续子串。
//先转发以下函数,来源http://hi.baidu.com/lqblog/item/5c045c083e4586dc73e676ca
1、字母处理
全部大写:str.upper()
全部小写:str.lower()
大小写互换:str.swapcase()
首字母大写,其余小写:str.capitalize()
首字母大写:str.title()
2、字符串去空格及去指定字符
去两边空格:str.strip()
去左空格:str.lstrip()
去右空格:str.rstrip()
去两边字符串:str.strip('d'),相应的也有lstrip,rstrip
3、按指定字符分割字符串为列表
str.split('# ')
4、字符串判断
是否以start开头:str.startswith('start')
是否以end结尾:str.endswith('end')
是否全为字母或数字:str.isalnum()
是否全字母:str.isalpha()
是否全数字:str.isdigit()
是否全小写:str.islower()
是否全大写:str.isupper()
5、字符串替换
替换old为new:str.replace('old','new')
替换指定次数的old为new:str.replace('old','new',maxReplaceTimes)
6、字符串搜索相关
搜索指定字符串,没有返回-1:str.find('t')
指定起始位置搜索:str.find('t',start)
指定起始及结束位置搜索:str.find('t',start,end)
从右边开始查找:str.rfind('t')
搜索到多少个指定字符串:str.count('t')
上面所有方法都可用index代替,不同的是使用index查找不到会抛异常,而find返回-1
7、字符格式化
获取固定长度,右对齐,左边不够用空格补齐:str.rjust(width)
获取固定长度,左对齐,右边不够用空格补齐:str.ljust(width)
获取固定长度,中间对齐,两边不够用空格补齐:str.center(width)
获取固定长度,右对齐,左边不足用0补齐:str.zfill(width)
负责处理刚进入相册显示的所有相册界面。
其类图如下。
相关类说明
1)SelectionManager.SelectionListener
负责对选择状态时的侦听。
2)SelectionManager
负责对选择状态的处理。
其类图如下。
mSourceMediaSet主要用于对相册数据进行管理,其具体作用待分析。MediaSet类请参见Mediaset。
mClickedSet主要用于对选中的媒体文件的路径进行管理。
mListener就是侦听者。
mDataManager主要用于管理相册数据。
mPressedPath存放当前点中的媒体数据的路径。
选择分为以下几种状态。
SelectionManager.ENTER_SELECTION_MODE
SelectionManager.LEAVE_SELECTION_MODE
SelectionManager.SELECT_ALL_MODE
进入退出全选,对应每种状态都要相应处理。
3)GalleryActionBar.ClusterRunner
主要实现doCluster函数。该函数用于实现按模式排序时的activity跳转。
通过GalleryActionBar实现排序,原理就是打包bundle值,重新开启一个activity,新的activity接受到这个bundle值。
4)EyePosition.EyePositionListener
人眼定位的侦听者,主要实现onEyePositionChanged,用于对人眼位置改变的侦听。未研究。
5)EyePosition
处理人眼定位的类。未研究。
6)MediaSet.SyncListener
处理异步加载mediaset的结果侦听者。实现onSyncDone()函数。
该函数处理异步加载的结果。
7)StaticBackground
管理背景图图片。
8)AlbumSetView
负责绘制所有相册的view。
如下是类图。
8.1)SLotView
将GLView再封装。未研究。
8.2)GLView
关于GLView类介绍的注释如下。通过其可以知道GLView大致是用来将内容渲染到GLCanvas画布上的,同时处理一些触摸事件。未研究。
// GLView is a UI component. It can render to a GLCanvas and accept touch
// events. A GLView may have zero or more child GLView and they form a tree
// structure. The rendering and event handling will pass through the tree
// structure.
//
// A GLView tree should be attached to a GLRoot before event dispatching and
// rendering happens. GLView asks GLRoot to re-render or re-layout the
// GLView hierarchy using requestRender() and requestLayoutContentPane().
//
// The render() method is called in a separate thread. Before calling
// dispatchTouchEvent() and layout(), GLRoot acquires a lock to avoid the
// rendering thread running at the same time. If there are other entry points
// from main thread (like a Handler) in your GLView, you need to call
// lockRendering() if the rendering thread should not run at the same time.
8.3)AlbumSetSlidingWindow
负责滑动显示图片相关。
9)AlbumSetDataAdapter
数据适配器。
10)ActionModeHandler
对操作栏上的操作进行管理。
目前有如下操作。
private static final int SUPPORT_MULTIPLE_MASK = MediaObject.SUPPORT_DELETE
| MediaObject.SUPPORT_ROTATE | MediaObject.SUPPORT_SHARE
| MediaObject.SUPPORT_CACHE | MediaObject.SUPPORT_IMPORT;
3.1.4 AlbumPage
其基本结构与albumsetpage差不多,里面的view变成albumview。