如何删除grub,修复windows引导

是不是想让系统直接启动到Windows,不出现LinuxGrub(或LILO)引导界面或者是在Windows中删除了Linux分区后无法正确启动Windows,而停留在“grub>”提示符处,怎么办? 请往下看,这里给你提供几种实用的方法:

Solution 0

要是手头没有DOS启动盘,可以使用windowXP系统盘,按R进入到故障恢复台,然后使用命令 FIXMBR 多数情况也能够恢复,没有DOS启动盘,一般采取此方法

Solution 1

DOS命令fdisk恢复主引导扇区MBRMain/Master Boot Record

用光盘引导到DOS命令行下,执行:"fdisk /mbr"即可。

Solution 2

Linux系统中,恢复MBR(如果你还能登陆到Linux系统中的话)

在终端的命令提示符后输入: "dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1"

注意,其中bsbuffer size)是指重写的字节数。为什么不是512呢?主引导扇区是一个扇区(512字节呀),因为我们只是想通过扇面的命令修复系统MBR的引导或删除Grub/LILO引导;而不是恢复整个主引导扇区。所以我们只把主引导扇区的备份文件boot.NNNN的前446个字节重写入主引导扇区。 boot.NNNN是我们在安装Linux之前整个主引导分区的备份。如果我们把512个字节全部写入主引导扇区就可能会把安装了Linux后改变了的硬盘DPT表也破坏掉。那就坏事了!!! (MBR512字节中前446字节为引导程序,紧跟着后面64字节为分区表,最后面2个字节为结束标记)

Solution 3

如果你的fdisk不好使,或者Linux已经不能使用,可以使用Clear MBR 0.9来清除MBR

下载Clear MBR 0.9 ,直接运行执行“Clear MBR”即可(说明,我并没有下载到,所以这种方式没有试)

Solution 4

Linux
的分区已经被你从Windows中删除,系统启动后停在“grub>”提示符处。

“grub>”提示符后输入:“rootnoverify(hd0,0)” 回车。//将第一块硬盘(hd0)的第一个分区(0)设为根分区/root设备,但不加载文件系统。

“grub>”提示符后输入:“chainloader1” 回车。//将启动引导权转交给当前分区的首扇区(Windows系统所在分区的首扇区)。

“grub>”提示符后输入:“boot” 回车。系统将启动Windows。如果不成功,则表明 (hd0,0) 不是 Windows 系统所在分区,再从第一步开始试一下“root (hd0,1)/root (hd0,2)/root (hd0,3)/…”,总之这样一定可以引导启动你的Windows系统。

好了,进入Windows了,请采用Solution 3的方法清除MBR

ubuntu9.04恢复Ctrl+Alt+Backspace组合键

ubuntu 9.04默认的Ctrl+Alt+Backspace组合键是没有开启的,之前的版本都有,习惯了使用这个组合键重启Xwindows,突然之间没有了,感觉就是不习惯。于是上网搜索解决办法。终于搞定。

介绍两种方法

第一种:
编辑/etc/X11/xorg.conf
sudo gedit /etc/X11/xorg.conf
最后加上
Section “ServerFlags”
Option “DontZap” “false”
EndSection
保存退出。
(注: “DontZap”和”false”分隔用的是tab键)

第二种:
打开终端
输入
sudo apt-get install dontzap
sudo dontzap -d
搞定

ubuntu下Opera字体混乱修复

Opera是一款非常不错的浏览器,小巧快捷Windows和Linux下都有相应的发行版,最新版本是9.5。在Linux下使用Opera浏览中文页面时经常会发生字体混乱的问题。具体来说就是在一行中文中大部分都是宋体但是有时会蹦出来几个楷体字而且字号偏小显示模糊。

这一问题的产生和Opera的字体调用机制有关,解决起来也不难。Linux下Opera的字体配置文件是目录/usr/share/opera/ini下的font.ini文件,用VI编辑器打开该文件,找到“Know fonts that solves specific problems”项,修改包含“chinese-s good try-first”的条目如下family:WenQuanYi Bitmap Song=chinese-s good try-first,如果使用微软的SimSun字体(最好不要用,一面惹上官司)相应的将WenQuanYi Bitmap Song替换为SimSun即可。 而后将上下的japanese和korean条目注释掉。

完成上述修改后,重启Opera即可。

我再提供另外一种方法:
请下载并解附件,并重命名为font.ini.tar.bz2(去掉后面的 .jpg)。压附件文件 font.ini.tar.bz2,存为 /usr/share/opera/ini/font.ini,之后重启 Opera。

附件:请右键单击这里,选另存为

Google和Picasa相册图片无法访问的解决办法

6月24日晚开始起,Google.com,Gmail等google服务均无法正常访问,结果初步检查发现是Google.com及Gmail相关域名被劫持。原理很简单:GFW通过技术手段,将Google的各类境外域名解析到一个错误的地址,使得Google.com无法访问。

既然是域名劫持,那么解决方法也能简单。既然你不让我解析正确,那么我把Google域名的IP直接解析,跳过被劫持的DNS解析这个步骤,即可正常访问Google.com及Gmail.

你只需在你电脑C:\WINDOWS\system32\drivers\etc里面打开hosts文件,另起一行加上

74.125.91.103 www.google.com
74.125.91.83 mail.google.com
74.125.91.18 www.gmail.com
74.125.91.99 www.picasa.com
74.125.91.103 picasa.google.com

如果遇到不能修改就取消只读属性,经过这个步骤,所有Google服务均可访问。

P.S google目前已经恢复正常

==============================分割线==================================
看不到Picasa相册图片可用下面的方法解决
用记事本打开hosts文件,hosts文件位于 c:\windows\system32\drivers\etc\hosts
在hosts文件中加入下面这些内容

#picasaweb.google.com
203.208.39.99 lh1.ggpht.com
203.208.39.99 lh2.ggpht.com
203.208.39.99 lh3.ggpht.com
203.208.39.99 lh4.ggpht.com
203.208.39.99 lh5.ggpht.com
203.208.39.99 lh6.ggpht.com
203.208.39.99 lh7.ggpht.com
203.208.39.99 lh8.ggpht.com

保存。

P.S Picasa相册可以使用代理打开

解决ubuntu9.04 FLASH不能正常显示汉字

打开终端,输入以下命令:

cd /etc/fonts/conf.d/
sudo cp 49-sansserif.conf 49-sansserif.conf_backup
sudo rm 49-sansserif.conf

以上命令的功能是先备份49-sansserif.conf文件,再删除,经测试在ubuntu9.04中有效。

《仙剑奇侠传98柔情》Nokia S60_3rd版本

【转贴】【5.19更新】仙剑98 3rd版本(PC移植版)【82实测通过】附安装方法及截图!

§§★★注意游戏目前只支持FP1/FP2,MR机型暂不支持本游戏目前基本完美,估计还有少量BUG……但是玩剧情应该是不成问题了!而且重要的是能正常存档和读档,而且游戏速度很流畅,不是dosbox模拟的那种所能比的!★★§§

安装详细步骤:

★★★★★★★★★★★★★★★★安装注意事项★★★★★★★★★★★★★★★★★★第一次安装请照此教程安装按顺序安装,以后想安装新版本的话,只需安装主程序即可。本帖子中的安装目录中的E是指手机的存储卡,不是电脑的E盘。

==================================================

1、游戏资源下载:

2、安装过程:

    (1)将下载下来的openc运行库压缩包解压得到三个组件,分别是glib.SIS、stdcpp.SIS、pips_nokia_1_4_SS.sis,见下图:

     (2)依次安装glib.SIS、stdcpp.SIS和pips_nokia_1_4_SS.sis(这3个组件无需签名)

       (3)安装图形声音支持库,如下图所示。PS:这里提一下图形声音支持库和主程序命名上的区别,图像声音支持库是以sdl开头,而主程序是以sdlpal开头。

       (4)安装主程序(截图中显示的版本和最新的不一样,但是文件名开头都是sdlpal)如下图所示:

  

      (5)将pal98 原版游戏资源压缩包解压,把得到的资源文件拷贝到E:\data\pal目录下,pal目录不存在的话可以自己建.解压后的资源文件如下图所示:

    

     (6)将物品说明及字库资源包解压,解压出来的文件复制到E:\data\pal目录下,会弹出文件覆盖的提示,点“全部”确定。物品说明及字库资源包解压后的文件如下图所示:

3、到此完成了整个安装过程,大功告成了!运行“应用程序”下的“仙剑奇侠",嘿嘿,接下去就是我们很熟悉的画面了!祝大家玩得愉快!

附件:截图,以下都是自己82用超级截图截的图,不是在电脑上哦!有时间戳:

(1)图一:

(2)图二:

(3)图三:

本文转自:塞班智能手机网
原帖地址:http://bbs.dospy.com/thread-3329376-1-1.html

linux 技巧:使用 screen 管理你的远程会话

你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

元凶:SIGHUP 信号

让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉。

在Linux/Unix中,有这样几个概念:

进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。
会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。
会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。
根据POSIX.1定义:

挂断信号(SIGHUP)默认的动作是终止程序。
当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。
如果会话期首进程终止,则该信号发送到该会话期前台进程组。
一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。
因此当网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

我们来看一个例子。打开两个SSH终端窗口,在其中一个运行top命令。

[root@tivf09 root]# top

在另一个终端窗口,找到top的进程ID为5180,其父进程ID为5128,即登录shell。

[root@tivf09 root]# ps -ef|grep top root
5180 5128 0 01:03 pts/0 00:00:02 top root
5857 3672 0 01:12 pts/2 00:00:00 grep top

使用pstree命令可以更清楚地看到这个关系:

[root@tivf09 root]# pstree -H 5180|grep top

|-sshd-+-sshd—bash—top

使用ps-xj命令可以看到,登录shell(PID 5128)和top在同一个会话期,shell为会话期首进程,所在进程组PGID为5128,top所在进程组PGID为5180,为前台进程组。

[root@tivf09 root]# ps -xj|grep 5128
5126 5128 5128 5128 pts/0 5180 S 0 0:00 -bash
5128 5180 5180 5128 pts/0 5180 S 0 0:50 top
3672 18095 18094 3672 pts/2 18094 S 0 0:00 grep 5128

关闭第一个SSH窗口,在另一个窗口中可以看到top也被杀掉了。

[root@tivf09 root]# ps -ef|grep 5128 root
18699 3672 0 04:35 pts/2 00:00:00 grep 5128

如 果我们可以忽略SIGHUP信号,关掉窗口应该就不会影响程序的运行了。nohup命令可以达到这个目的,如果程序的标准输出/标准错误是终 端,nohup默认将其重定向到nohup.out文件。值得注意的是nohup命令只是使得程序忽略SIGHUP信号,还需要使用标记&把它放 在后台运行。

nohup [argument...] &

虽然nohup很容易使用,但还是比较”简陋”的,对于简单的命令能够应付过来,对于复杂的需要人机交互的任务就麻烦了。

其实我们可以使用一个更为强大的实用程序screen。流行的Linux发行版(例如Red Hat Enterprise Linux 4)通常会自带screen实用程序,如果没有的话,可以从GNU screen的官方网站下载。

[root@tivf06 ~]# rpm -qa|grep screen xscreensaver-4.18-5.rhel4.11 screen-4.0.2-5

开始使用Screen

简 单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多 个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。在screen中创建一个新的窗口有这样几种方 式:

1.直接在命令行键入screen命令

[root@tivf06 ~]# screen

Screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样。在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切换到前一个窗口。

2.Screen命令后跟你要执行的程序。

[root@tivf06 ~]# screen vi test.c

Screen创建一个执行vi test.c的单窗口会话,退出vi将退出该窗口/会话。

3.以上两种方式都创建新的screen会话。我们还可以在一个已有screen会话中创建新的窗口。在当前screen窗口中键入C-a c,即Ctrl键+a键,之后再按下c键,screen 在该会话内生成一个新的窗口并切换到该窗口。

screen还有更高级的功能。你可以不中断screen窗口中程序的运行而暂时断开(detach)screen会话,并在随后时间重新连接(attach)该会话,重新控制各窗口中运行的程序。例如,我们打开一个screen窗口编辑/tmp/abc文件:

[root@tivf06 ~]# screen vi /tmp/abc

之后我们想暂时退出做点别的事情,比如出去散散步,那么在screen窗口键入C-a d,Screen会给出detached提示:
暂时中断会话

半个小时之后回来了,找到该screen会话:

[root@tivf06 ~]# screen -ls
There is a screen on: 16582.pts-1.tivf06 (Detached) 1 Socket in /tmp/screens/S-root.

重新连接会话:

[root@tivf06 ~]# screen -r 16582

看看出现什么了,太棒了,一切都在。继续干吧。

你 可能注意到给screen发送命令使用了特殊的键组合C-a。这是因为我们在键盘上键入的信息是直接发送给当前screen窗口,必须用其他方式向 screen窗口管理器发出命令,默认情况下,screen接收以C-a开始的命令。这种命令形式在screen中叫做键绑定(key binding),C-a叫做命令字符(command character)。

可以通过C-a ?来查看所有的键绑定,常用的键绑定有:

C-a ? 显示所有键绑定信息
C-a w 显示所有窗口列表
C-a C-a 切换到之前显示的窗口
C-a c 创建一个新的运行shell的窗口并切换到该窗口
C-a n 切换到下一个窗口
C-a p 切换到前一个窗口(与C-a n相对)
C-a 0..9 切换到窗口0..9
C-a a 发送 C-a到当前窗口
C-a d 暂时断开screen会话
C-a k 杀掉当前窗口
C-a [ 进入拷贝/回滚模式

Screen常用选项

使用键绑定C-a ?命令可以看到, 默认的命令字符(Command key)为C-a,转义C-a(literal ^a)的字符为a:
Screen 常用选项

因为screen把C-a看作是screen命令的开始,所以如果你想要screen窗口接收到C-a字符,就要输入C-a a。Screen也允许你使用-e选项设置自己的命令字符和转义字符,其格式为:

-exy x为命令字符,y为转义命令字符的字符

下面命令启动的screen会话指定了命令字符为C-t,转义C-t的字符为t,通过C-t ?命令可以看到该变化。
自定义命令字符和转义字符

[root@tivf18 root]# screen -e^tt

其他常用的命令选项有:

-c file 使用配置文件file,而不使用默认的$HOME/.screenrc
-d|-D [pid.tty.host] 不开启新的screen会话,而是断开其他正在运行的screen会话
-h num 指定历史回滚缓冲区大小为num行
-list|-ls 列出现有screen会话,格式为pid.tty.host
-d -m 启动一个开始就处于断开模式的会话
-r sessionowner/ [pid.tty.host] 重新连接一个断开的会话。多用户模式下连接到其他用户screen会话需要指定sessionowner,需要setuid-root权限
-S sessionname 创建screen会话时为会话指定一个名字
-v 显示screen版本信息
-wipe [match] 同-list,但删掉那些无法连接的会话

下例显示当前有两个处于detached状态的screen会话,你可以使用screen -r 重新连接上:

[root@tivf18 root]# screen -ls
There are screens on: 8736.pts-1.tivf18 (Detached) 8462.pts-0.tivf18 (Detached) 2 Sockets in /root/.screen.
[root@tivf18 root]# screen -r 8736

如果由于某种原因其中一个会话死掉了(例如人为杀掉该会话),这时screen -list会显示该会话为dead状态。使用screen -wipe命令清除该会话:

[root@tivf18 root]# kill -9 8462
[root@tivf18 root]# screen -ls
There are screens on: 8736.pts-1.tivf18 (Detached) 8462.pts-0.tivf18 (Dead ???) Remove dead screens with ’screen -wipe’. 2 Sockets in /root/.screen.
[root@tivf18 root]# screen -wipe
There are screens on: 8736.pts-1.tivf18 (Detached) 8462.pts-0.tivf18 (Removed) 1 socket wiped out. 1 Socket in /root/.screen.
[root@tivf18 root]# screen -ls
There is a screen on: 8736.pts-1.tivf18 (Detached) 1 Socket in /root/.screen.
[root@tivf18 root]#

-d -m 选项是一对很有意思的搭档。他们启动一个开始就处于断开模式的会话。你可以在随后需要的时候连接上该会话。有时候这是一个很有用的功能,比如我们可以使用它调试后台程序。该选项一个更常用的搭配是:-dmS sessionname

启动一个初始状态断开的screen会话:

[root@tivf06 tianq]# screen -dmS mygdb gdb execlp_test

连接该会话:

[root@tivf06 tianq]# screen -r mygdb

管理你的远程会话

先 来看看如何使用screen解决SIGHUP问题,比如现在我们要ftp传输一个大文件。如果按老的办法,SSH登录到系统,直接ftp命令开始传输,之 后。。如果网络速度还可以,恭喜你,不用等太长时间了;如果网络不好,老老实实等着吧,只能传输完毕再断开SSH连接了。让我们使用screen来试试。

SSH登录到系统,在命令行键入screen。

[root@tivf18 root]# screen

在screen shell窗口中输入ftp命令,登录,开始传输。不愿意等了?OK,在窗口中键入C-a d:
管理你的远程会话

然后。。退出SSH登录?随你怎样,只要别杀掉screen会话。

是 不是很方便?更进一步,其实我们可以利用screen这种功能来管理你的远程会话,保存你所有的工作内容。你是不是每次登录到系统都要开很多窗口,然后每 天都要重复打开关闭这些窗口?让screen来帮你”保存”吧,你只需要打开一个ssh窗口,创建需要的screen窗口,退出的时候C-a d”保存”你的工作,下次登录后直接screen -r 就可以了。

最好能给每个窗口起一个名字,这样好记些。使用C-a A给窗口起名字。使用C-a w可以看到这些窗口名字,可能名字出现的位置不同。

更多Screen功能

Screen 提供了丰富强大的定制功能。你可以在Screen的默认两级配置文件/etc/screenrc和$HOME/.screenrc中指定更多,例如设定 screen选项,定制绑定键,设定screen会话自启动窗口,启用多用户模式,定制用户访问权限控制等等。如果你愿意的话,也可以自己指定 screen配置文件。

以多用户功能为例,screen默认是以单用户模式运行的,你需要在配置文件中指定multiuser on 来打开多用户模式,通过acl*(acladd,acldel,aclchg…)命令,你可以灵活配置其他用户访问你的screen会话。更多配置文件内 容请参考screen的man页。

原文地址:http://www.ibm.com/developerworks/cn/linux/l-cn-screen/

ubuntu配置vnc4server远程桌面

 

vnc4server配置过程:

1. 配置远程控制权限

打开 系统->系统管理->登陆窗口

点击<远程>页面,在样式中选择"与本地相同"

点击"配置XDMCP"按钮,将"遵从非直接请求"的选中状态取消

编辑 /etc/gdm/gdm.conf

sudo gedit /etc/X11/gdm/gdm.conf

找到[xdmcp]节,将enable改为true

Enable=True

找到行,# RemoteGreeter=/usr/lib/gdm/gdmlogin 去掉注释

RemoteGreeter=/usr/lib/gdm/gdmlogin

2. 安装所需软件

sudo apt-get install vnc4server xinetd

3. 设置VNC口令

sudo vncpasswd /root/.vncpasswd

4. 在xinetd中增加VNC服务

sudo vi /etc/xinetd.d/Xvnc Xvnc内容如下 service Xvnc { type = UNLISTED disable = no socket_type = stream protocol = tcp wait = yes user = root server = /usr/bin/Xvnc server_args = -inetd :1 -query localhost -geometry 1024×768 -depth16 -once -fp /usr/share/fonts/X11/misc -DisconnectClients=0-NeverShared passwordFile=/root/.vncpasswd -extension XFIXES port = 5901 }

5. 启动xinetd服务

sudo /etc/init.d/xinetd stop sudo killall Xvnc sudo /etc/init.d/xinetd start

vnc客户端配置:

我的客户端系统是win XP,vnc客户端用的是UltraVNC Viewer。

启动UltraVNC Viewer后,在vnserver中输入刚才配置nvc4server的主机ip和vncserver端口号(如 192.168.1.108:5901),端口号在/etc/xinetd.d/Xvnc文件中设置(port = 5901)。输入用户,口令,就可以从远程登录了

Ubuntu安装KVM虚拟机

Ubuntu可以安装的虚拟机有KVM和apt自带的Vbox。
安装Vbox
sudo apt-get install virtualbox-ose

安装Ubuntu下的虚拟机Kvm,并用虚拟机安装带有授权的WinXP系统:
首先,查看CPU信息。
cat /proc/cpuinfo

在列出来的一系列信息中,注意这一行:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm
这里面如果有SVM (AMD cpu)或者 VMX (Intel cpu)说明CPU是支持安装虚拟机的。

然后安装虚拟机软件 kvm和qemu 两款。
sudo apt-get install kvm qemu

接着,查看目录并且创建 kvm文件夹。
ls
mkdir kvm

然后给要安装的winxp设定分区大小。
qemu-img create -f qcow2 kvm/winxp.img 5G #分区大小5G
-f qcow2 #这个不定义的话(不写),分区就是5个G;定义了,就表示,分区最小32K,按照安装需要,最大可以达到5G——表示不预先分配硬盘。

然后查看分区信息。
ls kvm -l

正式安装虚拟机操作系统。

sudo kvm -m 512M -hda kvm/winxp.img -cdrom /dev/scd0 -boot d
kvm 启动kvm虚拟机安装系统。
-m 512M 给虚拟机分配512M内存。
-hda kvm/winxp.img 用kvm/winxp.img该目录作为虚拟机的硬盘,硬盘名叫hda。
-cdrom /dev/scd0 用/dev/scd0(光驱)作为虚拟机的cdrom。如果是从iso文件安装,就把/dev/scd0替换成XXX.iso文件目录。
-boot d 从光驱引导。回车后开始。

然后就是正常的安装程序了。
安装界面会出现在QEMU窗口里,提示:Ctrl+Alt即在QEMU界面和系统界面之间切换。

安装winxp,它文件复制完安装文件以后,会重启。然后才继续安装,我们这时则只需把QEMU界面关闭,重启界面一下就可以了,注意,这个命令和前一个命令有区别了:
sudo kvm -m 512M -hda kvm/winxp.img -cdrom /dev/scd0
(把后面的-boot d去掉了,表示不是从光驱启动了,直接从winxp分区启动,开始继续安装。)

安装完成以后,定义网络启动winxp。

sudo kvm -m 512M -hda kvm/winxp.img -net nic -net user
-net nic -net user 定义虚拟机操作系统的网络。在这个定义下,winxp可以解析IP地址,但是无法ping通网络。不过winxp已经可以正常浏览网页了。
(另有一种定义网络叫桥接式网络,更强)。

转自海明视频教程。

Mysql FAQ(包治mysql百病)

首先,MySQL已经有中文手册了,详见 http://dev.mysql.com/doc/refman/5.1/zh/index.html

Q: 如何让我的MySQL支持中文
A:
以下十几个相关的链接,包括字符集支持等问题,都可以看看
http://bbs.chinaunix.net/viewthread.php?tid=444009&extra=page%3D1%26filter%3Ddigest
http://bbs.chinaunix.net/viewthread.php?tid=732610&extra=page%3D1%26filter%3Ddigest
http://bbs.chinaunix.net/viewthread.php?tid=702090&extra=page%3D1%26filter%3Ddigest
http://imysql.cn/index.php?q=node/20

Q: 如何安装LAMP(Linux+Apache+MySQL+PHP)
A:http://www.freelamp.com/1003235699/index_html

Q: 如何使用rpm方式安装mysql
A:
首先下载合适的rpm包,例如下载了文件 MySQL-5.0.15-0.i386.rpm
用一下方法安装:
#rpm -ivhU MySQL-5.0.15-0.i386.rpm
通常情况下,安装完这个rpm包后,只具备有mysqld服务功能,其它相关的client程序和开发包还需要另外安装
#rpm -ivhU MySQL-devel-5.0.15-0.i386.rpm
#rpm -ivhU MySQL-client-5.0.15-0.i386.rpm

Q: 如何安装已经编译好了的mysql二进制包
A:
首先下载合适的二进制包,例如下载了文件 mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz
#groupadd mysql
#useradd -g mysql mysql
#cd /usr/local
#tar zxf mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz
#ln -s mysql-standard-4.1.13-pc-linux-gnu-i686 mysql
#cd mysql
#scripts/mysql_install_db –user=mysql
#chgrp -R mysql *
#bin/mysqld_safe –user=mysql &
有什么个性化的配置,可以通过创建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相关的参数来实现。

Q: 如何自己编译mysql
A:
以redhat linux 9.0为例:
下载文件 mysql-4.1.13.tar.gz
#tar zxf mysql-4.1.13.tar.gz
#cd mysql-4.1.13
#./configure –prefix=/usr/local/mysql –enable-assembler \
–with-mysqld-ldflags=-all-static –localstatedir=/usr/local/mysql/data \
–with-unix-socket-path=/tmp/mysql.sock –enable-assembler \
–with-charset=complex –with-low-memory –with-mit-threads
#make
#make install
#groupadd mysql
#useradd -g mysql mysql
#chgrp -R mysql /usr/local/mysql/
#/usr/local/mysql/bin/mysqld_safe –user=mysql &
有什么个性化的配置,可以通过创建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相关的参数来实现。

Q: 如何登录MySQL
A:
使用mysql提供的客户端工具登录
#PATH_TO_MYSQL/bin/mysql -uuser -ppassword dateabase

Q: 忘记MySQL的root密码,怎么修改
A:
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :PATH_TO_MYSQL/bin/mysqld –skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
mysql>use mysql
mysql>update user set password=password(”new_pass”) where user=”root”;
mysql>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL
一定注意:很多新手没有用password=password(”…”),而是直接password=”…”所以改掉密码不好使

Q: 为什么mysqld起来了,却无法登录,提示”/var/lib/mysql/mysql.sock”不存在
A:
这种情况大多数是因为你的mysql是使用rpm方式安装的,它会自动寻找 /var/lib/mysql/mysql.sock 这个文件,
通过unix socket登录mysql。
常见解决办法如下:
1、
创建/修改文件 /etc/my.cnf,至少增加/修改一行
[mysql]
[client]
socket = /tmp/mysql.sock
#在这里写上你的mysql.sock的正确位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下

2、
指定IP地址,使用tcp方式连接mysql,而不使用本地sock方式
#mysql -h127.0.0.1 -uuser -ppassword

3、
为 mysql.sock 加个连接,比如说实际的mysql.sock在 /tmp/ 下,则
#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可

Q: 如何修改mysql用户密码
A:
大致有2种方法:
1、
mysql>mysql -uroot -pxxx mysql
mysql>update user set password=password(’new_password’) where user=’user’;;
mysql>flush privileges;

2、
格式:mysqladmin -u用户名 -p旧密码 password 新密码
#mysqladmin -uroot -password ab12
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

Q: 如何新增一个mysql用户
A:
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
mysql>grant select,insert,update,delete on *.* to test1@”%” Identified by “abc”;
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by “abc”;
如果你不想test2有密码,可以再打一个命令将密码消掉。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by “”;
另外,也可以通过直接往user表中插入新纪录的方式来实现。

Q: 如何查看mysql有什么数据库
A:mysql>show databases;

Q: 如何查看数据库下有什么表
A:mysql>show tables;

Q: 如何导出数据
A:
有几种方法,如下:
1、使用mysqldump
#mysqldump -uuser -ppassword -B database –tables table1 –tables table2 > dump_data_20051206.sql
详细的参数

2、backup to语法
mysql>BACKUP TABLE tbl_name[,tbl_name...] TO ‘/path/to/backup/directory’;
详细请查看mysql手册

3、mysqlhotcopy
#mysqlhotcopy db_name [/path/to/new_directory]

#mysqlhotcopy db_name_1 … db_name_n /path/to/new_directory

#mysqlhotcopy db_name./regex/
详细请查看mysql手册

4、select into outfile
详细请查看mysql手册

5、客户端命令行
#mysql -uuser -ppassword -e “sql statements” database > result.txt

以上各种方法中,以mysqldump最常用

Q: 如何在命令行上执行SQL语句
A:
#mysql -uuser -ppassword -e “sql statements” database

Q: 如何导入备份出来的文件
A:
常见几种方法如下:
1、由mysqldump出来的文件
#mysql -uuser -ppassword [database]

2、文件类型同上,使用source语法
mysql>source /path_to_file/dump.sql;

3、按照一定格式存储的文本文件或csv等文件
#mysqlimport [options] database file1 [file2....]
详细请查看mysql手册

4、文件类型同上,也可以使用load data语法导入
详细请查看mysql手册

Q: 如何快速设定MySQL同步
A:
详情请参见 http://imysql.cn/index.php?q=node/73

Q: MySQL升级过程中都应该注意什么问题
A:
详情请参见 http://imysql.cn/index.php?q=node/74

Q: 如何分析MySQL的运行状态
A:
介绍一个开源的工具,详情请参考 http://hackmysql.com/mysqlreport

其他更多的FAQ请查看这里
http://imysql.cn/?q=node/151

本文转自:bbs.chinaunix.net
原帖地址:http://bbs.chinaunix.net/viewthread.php?tid=662944
作者:yejr (Leo)

下一页 »