» 网友学堂 » Mysql教程 » 在CU上整理的MySQL的常见问题及解答 -> 查看 2007年02月20日 更新
在CU上整理的MySQL的常见问题及解答
作者:问天 发表时间:2007-2-20 12:14 阅读:260次 在百度搜索相关内容

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包后,只具备有
mysql
d服务功能,其它相关的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/
mysql
d_safe --user=
mysql
&;amp; 有什么个性化的配置,可以通过创建 /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-
mysql
d-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/
mysql
d_safe --user=
mysql
&;amp; 有什么个性化的配置,可以通过创建 /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
mysql
d。 启动 MySQL :PATH_TO_MYSQL/bin/
mysql
d --skip-grant-tables &;amp; 就可以不需要密码就进入 MySQL 了。 然后就是
mysql
>use
mysql

mysql
>update user set password=password("new_pass") where user="root";
mysql
>flush privileges; 重新杀 MySQL ,用正常方法启动 MySQL 一定注意:很多新手没有用password=password("..."),而是直接password="..."所以改掉密码不好使 Q: 为什么
mysql
d起来了,却无法登录,提示"/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、 格式:
mysql
admin -u用户名 -p旧密码 password 新密码 #
mysql
admin -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、使用
mysql
dump #
mysql
dump -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、
mysql
hotcopy #
mysql
hotcopy db_name [/path/to/new_directory] 或 #
mysql
hotcopy db_name_1 ... db_name_n /path/to/new_directory 或 #
mysql
hotcopy db_name./regex/ 详细请查看
mysql
手册 4、select into outfile 详细请查看
mysql
手册 5、客户端命令行 #
mysql
-uuser -ppassword -e "sql statements" database > result.txt 以上各种方法中,以
mysql
dump最常用 Q: 如何在命令行上执行SQL语句 A:#
mysql
-uuser -ppassword -e "sql statements" database Q: 如何导入备份出来的文件 A:常见几种方法如下: 1、由
mysql
dump出来的文件 #
mysql
-uuser -ppassword [database] < dump.sql 2、文件类型同上,使用source语法
mysql
>source /path_to_file/dump.sql; 3、按照一定格式存储的文本文件或csv等文件 #
mysql
import [options] database file1 [file2....] 详细请查看
mysql
手册 4、文件类型同上,也可以使用load data语法导入 详细请查看
mysql
手册

#Advertisement