Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1413167
  • 博文数量: 842
  • 博客积分: 12411
  • 博客等级: 上将
  • 技术积分: 5772
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 14:43
文章分类

全部博文(842)

文章存档

2013年(157)

2012年(685)

分类: Mysql/postgreSQL

2012-05-23 13:19:57

在CU上整理的MySQL的常见问题及解答

MySQL是很多人都非常熟悉的小型数据库管理系统,MySQL数据库性能不错,所以赢得了很多用户的青睐。本文中主要是为大家详细讲解有关在CU上整理的MySQL的常见问题及解答的知识,相信大家通过下文的学习,一定能够很好的掌握MySQL的知识。

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

A:[url][/url]

Q: 如何使用rpm方式安装

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/database/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/database/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;

上文中为大家例举了很多CU上整理的MySQL的常见问题以及解决方案,当然这里只是为大家总结了一部分,更多的还需要大家在平时的工作中细心发现,最后希望上文中涉及到的内容能够帮助到大家。

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

qiuyepiaoling2012-06-18 10:08:13

太老了