免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 204065 | 回复: 11
打印 上一主题 下一主题

[注意 最新FAQ]MySQL版FAQ[包治'MySQL'百病] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-05 21:06 |显示全部楼层 |倒序浏览
首先,MySQL已经有中文手册了,详见 http://dev.mysql.com/doc/refman/5.1/zh/index.html

Q: 如何让我的MySQL支持中文
A:

  1. 以下十几个相关的链接,包括字符集支持等问题,都可以看看
  2. http://bbs.chinaunix.net/viewthread.php?tid=444009&extra=page%3D1%26filter%3Ddigest
  3. http://bbs.chinaunix.net/viewthread.php?tid=732610&extra=page%3D1%26filter%3Ddigest
  4. http://bbs.chinaunix.net/viewthread.php?tid=702090&extra=page%3D1%26filter%3Ddigest
  5. http://imysql.cn/index.php?q=node/20
复制代码


Q: 如何安装LAMP(Linux+Apache+MySQL+PHP)
A:

  1. http://www.freelamp.com/1003235699/index_html
复制代码


Q: 如何使用rpm方式安装mysql
A:

  1. 首先下载合适的rpm包,例如下载了文件 MySQL-5.0.15-0.i386.rpm
  2. 用一下方法安装:
  3. #rpm -ivhU MySQL-5.0.15-0.i386.rpm
  4. 通常情况下,安装完这个rpm包后,只具备有mysqld服务功能,其它相关的client程序和开发包还需要另外安装
  5. #rpm -ivhU MySQL-devel-5.0.15-0.i386.rpm
  6. #rpm -ivhU MySQL-client-5.0.15-0.i386.rpm
复制代码


Q: 如何安装已经编译好了的mysql二进制包
A:

  1. 首先下载合适的二进制包,例如下载了文件 mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz
  2. #groupadd mysql
  3. #useradd -g mysql mysql
  4. #cd /usr/local
  5. #tar zxf mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz
  6. #ln -s mysql-standard-4.1.13-pc-linux-gnu-i686 mysql
  7. #cd mysql
  8. #scripts/mysql_install_db --user=mysql
  9. #chgrp -R mysql *
  10. #bin/mysqld_safe --user=mysql &
  11. 有什么个性化的配置,可以通过创建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相关的参数来实现。
复制代码


Q: 如何自己编译mysql
A:

  1. 以redhat linux 9.0为例:
  2. 下载文件 mysql-4.1.13.tar.gz
  3. #tar zxf mysql-4.1.13.tar.gz
  4. #cd mysql-4.1.13
  5. #./configure --prefix=/usr/local/mysql --enable-assembler \
  6. --with-mysqld-ldflags=-all-static --localstatedir=/usr/local/mysql/data \
  7. --with-unix-socket-path=/tmp/mysql.sock --enable-assembler \
  8. --with-charset=complex --with-low-memory --with-mit-threads
  9. #make
  10. #make install
  11. #groupadd mysql
  12. #useradd -g mysql mysql
  13. #chgrp -R mysql /usr/local/mysql/
  14. #/usr/local/mysql/bin/mysqld_safe --user=mysql &
  15. 有什么个性化的配置,可以通过创建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相关的参数来实现。
复制代码


Q: 如何登录MySQL
A:

  1. 使用mysql提供的客户端工具登录
  2. #PATH_TO_MYSQL/bin/mysql -uuser -ppassword dateabase
复制代码


Q: 忘记MySQL的root密码,怎么修改
A:

  1. 如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
  2. 启动 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
  3. 就可以不需要密码就进入 MySQL 了。
  4. 然后就是
  5. mysql>use mysql
  6. mysql>update user set password=password("new_pass") where user="root";
  7. mysql>flush privileges;
  8. 重新杀 MySQL ,用正常方法启动 MySQL
  9. 一定注意:很多新手没有用password=password("..."),而是直接password="..."所以改掉密码不好使
复制代码


Q: 为什么mysqld起来了,却无法登录,提示"/var/lib/mysql/mysql.sock"不存在
A:

  1. 这种情况大多数是因为你的mysql是使用rpm方式安装的,它会自动寻找 /var/lib/mysql/mysql.sock 这个文件,
  2. 通过unix socket登录mysql。
  3. 常见解决办法如下:
  4. 1、
  5. 创建/修改文件 /etc/my.cnf,至少增加/修改一行
  6. [mysql]
  7. [client]
  8. socket = /tmp/mysql.sock
  9. #在这里写上你的mysql.sock的正确位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下

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

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


Q: 如何修改mysql用户密码
A:

  1. 大致有2种方法:
  2. 1、
  3. mysql>mysql -uroot -pxxx mysql
  4. mysql>update user set password=password('new_password') where user='user';;
  5. mysql>flush privileges;

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


Q: 如何新增一个mysql用户
A:

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


Q: 如何查看mysql有什么数据库
A:

  1. mysql>show databases;
复制代码


Q: 如何查看数据库下有什么表
A:

  1. mysql>show tables;
复制代码


Q: 如何导出数据
A:

  1. 有几种方法,如下:
  2. 1、使用mysqldump
  3. #mysqldump -uuser -ppassword -B database --tables table1 --tables table2 > dump_data_20051206.sql
  4. 详细的参数

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

  8. 3、mysqlhotcopy
  9. #mysqlhotcopy db_name [/path/to/new_directory]

  10. #mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory

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

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

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

  17. 以上各种方法中,以mysqldump最常用
复制代码


Q: 如何在命令行上执行SQL语句
A:

  1. #mysql -uuser -ppassword -e "sql statements" database
复制代码


Q: 如何导入备份出来的文件
A:

  1. 常见几种方法如下:
  2. 1、由mysqldump出来的文件
  3. #mysql -uuser -ppassword [database] < dump.sql

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

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

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


Q: 如何快速设定MySQL同步
A:

  1. 详情请参见 http://imysql.cn/index.php?q=node/73
复制代码


Q: MySQL升级过程中都应该注意什么问题
A:

  1. 详情请参见 http://imysql.cn/index.php?q=node/74
复制代码


Q: 如何分析MySQL的运行状态
A:

  1. 介绍一个开源的工具,详情请参考 http://hackmysql.com/mysqlreport
复制代码


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

[ 本帖最后由 yejr 于 2006-11-16 18:06 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2005-12-05 21:11 |显示全部楼层
今天正好心情不好,也正好赶上有空,就顺便把faq整理一番,平静一下心情,哈哈。
这只是初稿,欢迎鸡蛋或者西红柿,我也随时整理,直到差不多了就重新整理成新贴,并且锁定。
本版的法帖规则还在整理中,欢迎意见。

论坛徽章:
0
3 [报告]
发表于 2005-12-13 18:05 |显示全部楼层
谢谢各位支持,抽空增加新的东西

论坛徽章:
0
4 [报告]
发表于 2005-12-27 12:52 |显示全部楼层
原帖由 ydlhero 于 2005-12-27 11:01 发表
版大辛苦了.

phpmyadmin 不适合么?


这个东西适合新人,有一定基础后就最好不要用它,不过源代码可以读一读。

论坛徽章:
0
5 [报告]
发表于 2006-01-12 08:41 |显示全部楼层
原帖由 yxt168118 于 2006-1-10 12:26 发表
版主整理得很好,谢谢,大家多多支持!!

另外,有人说到好用的图形界面客户端,我这里推荐一个:EMS MYSQL MANAGER,挺不错的,大家试试!!


个人感觉除非特殊情况,最好不要使用傻瓜式的工具,因为这会让你变"傻"的,尽量使用cmd来做各种操作,一来熟悉sql,二来就能直接知道问题所在。

论坛徽章:
0
6 [报告]
发表于 2006-01-19 13:36 |显示全部楼层
原帖由 飞眉 于 2006-1-19 12:00 发表
有没有字符集的配置说明?


你要什么样的说明?

论坛徽章:
0
7 [报告]
发表于 2006-03-29 15:12 |显示全部楼层
原帖由 neil_young 于 2006-3-29 13:00 发表
能不能问一下,这个show命令为啥不出现在mysql--help里面,害我研究了好久


自己仔细看手册,关人家 mysql 命令啥事?

论坛徽章:
0
8 [报告]
发表于 2006-07-03 08:58 |显示全部楼层
原帖由 neil_young 于 2006-7-1 01:57 发表
说起来本人用mysql也用了一年多了,不过是在window下面,一路下一步就完事了,
最近想在linux下也安一个,本人虽然DOS的各种命令用得也很熟,但到了linux下,还是不太懂,安起来感觉真困难。
我用的是red hat 9 ...


这种情况下就换个版本吧

论坛徽章:
0
9 [报告]
发表于 2006-08-17 12:45 |显示全部楼层
原帖由 attiseve 于 2006-8-16 23:48 发表
针对大家见到的几个问题,我也见到了,解决如下:(以RedHat 9为例)
一、默认情况下/var/lib/mysql目录为空,(就是说如果你一次mysql也没有运行过的话)所以首先要初始化数据库才能下一步。
二、初始化数据库 ...


多谢指出

论坛徽章:
0
10 [报告]
发表于 2006-10-30 17:30 |显示全部楼层
看本贴第一页
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP