Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1512880
  • 博文数量: 297
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3082
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 11:36
文章分类

全部博文(297)

文章存档

2011年(1)

2009年(45)

2008年(67)

2007年(184)

我的朋友

分类: LINUX

2007-09-13 11:44:16

5 mysql 相关篇

5001 mysql 的数据库存放在什么地方(陈绪)

1. 如果使用rpm 包安装,应该在/var/lib/mysql 目录下,以数据库名为目录名

2. 如果源码安装在/usr/local/mysql 中,应该在/usr/local/mysql/var 中,以数据库名为目录名

5002 mysql 中导出和导入数据(陈绪)

导出数据库

mysqldump 数据库名 > 文件名

导入数据库

mysqladmin create 数据库名

mysql 数据库名 < 文件名

5003 忘了mysql root 口令怎么办(陈绪)

# service mysql stop

# mysqld_safe --skip-grant-tables &

# mysqladmin -u user password 'newpassword''

# mysqladmin flush-privileges

5004 快速安装php/mysql(陈绪)

确保使用系统自带的apache,从安装光盘中找出所有以mysql php-mysql 开头的rpm 包,

然后运行#rpm -ivh mysql*.rpm php-mysql*.rpm; mysql_install_db; service mysql start

5005 修改mysql root 口令(陈绪,yejr)

大致有2 种方法:

1mysql>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 旧密码一项就可以省略了

5006 如何使用rpm 方式安装mysql(yejr)

首先下载合适的rpm 包,例如下载了文件 MySQL-5.0.19-0.i386.rpm

用一下方法安装:

#rpm -ivhU MySQL-5.0.19-0.i386.rpm

通常情况下,安装完这个rpm 包后,只具备有mysqld 服务功能,其它相关的client 程序和

开发包还需要另外安装

#rpm -ivhU MySQL-devel-5.0.19-0.i386.rpm

Linux 一句话精彩问答/陈绪

60/62

#rpm -ivhU MySQL-client-5.0.19-0.i386.rpm

5007 如何安装已经编译好了的mysql 二进制包(yejr)

首先下载合适的二进制包,例如下载了文件 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,增加相

关的参数来实现

5008 如何自己编译mysql(yejr)

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,增加相

关的参数来实现

5009 如何登录mysql(yejr)

使用mysql 提供的客户端工具登录

#PATH_TO_MYSQL/bin/mysql -uuser -ppassword dateabase

5010 mysqld 起来了,却无法登录,提示"/var/lib/mysql/mysql.sock"不存在

(yejr)

这种情况大多数是因为你的mysql 是使用rpm 方式安装的,它会自动寻找

/var/lib/mysql/mysql.sock 这个文件,

Linux 一句话精彩问答/陈绪

61/62

通过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 即可

5011 如何新增一个mysql 用户(yejr)

格式: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 表中插入新纪录的方式来实现

5012 如何查看mysql 有什么数据库(yejr)

mysql>show databases;

5013 如何查看数据库下有什么表(yejr)

mysql>show tables;

5014 导出数据的几种常用方法(yejr)

1、使用mysqldump

#mysqldump -uuser -ppassword -B database --tables table1 --tables table2 >

dump_data_20051206.sql

详细的参数

2backup to 语法

mysql>BACKUP TABLE tbl_name[,tbl_name...] TO '/path/to/backup/directory';

详细请查看mysql 手册

Linux 一句话精彩问答/陈绪

62/62

3mysqlhotcopy

#mysqlhotcopy db_name [/path/to/new_directory]

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

#mysqlhotcopy db_name./regex/

详细请查看mysql 手册

4select into outfile

详细请查看mysql 手册

5、客户端命令行

#mysql -uuser -ppassword -e "sql statements" database > result.txt

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

5015 如何在命令行上执行sql 语句(yejr)

#mysql -uuser -ppassword -e "sql statements" database

5016 导入备份出来文件的常见方法(yejr)

1、由mysqldump 出来的文件

#mysql -uuser -ppassword [database] < dump.sql

2、文件类型同上,使用source 语法

mysql>source /path_to_file/dump.sql;

3、按照一定格式存储的文本文件或csv 等文件

#mysqlimport [options] database file1 [file2....]

详细请查看mysql 手册

4、文件类型同上,也可以使用load data 语法导入

详细请查看mysql 手册

5017 mysql 以大内存方式启动(陈绪)

/usr/share/mysql 下的某个mysql-*.cnf(1G 内存时为mysql-huge.cnf)拷贝为/etc/mysql.cnf

文件,并重启mysql

阅读(1354) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~