mysql学习日记(一)

由 frankie 在 11-13-2003 11:44 发表:

mysql学习日记(一)

今天开始正式学习mysql。说实话,我不知道怎么入手来学。mysql的文档我也看过了一些,但是看是没有用的,只有经过自己动手实践才是自己的。

这个是我每天学习mysql的日记,写出来跟大家分享,希望每天都能写一点,欢迎大家监督。当然更欢迎高手指点,特别是我不对的地方。

好,废话不说,第一步,当然是先把mysql装上去了。

第一次安装,为了图方便省事,就用rpm安装了。我下载了

MySQL-client-4.0.15-0.i386.rpm MySQL-shared-4.0.15-0.i386.rpm

MySQL-devel-4.0.15-0.i386.rpm MySQL-shared-compat-4.0.15-0.i386.rpm

MySQL-server-4.0.15-0.i386.rpm

5个rpm包,rpm -ivh MySQL* 一股脑装上了。唉,用rpm就是方便啊。

rpm装好以后,mysql服务程序便自己启动了。并且默认系统运行级别3,5自动开启服务,轻松啊!

装好了以后,我不知道怎么开始入手。急急忙忙打开一本mysql的书。开始了第一个命令:mysql 。

ok,mysql命令果然没有辜负我,出现了预期的mysql> 对话框。然后我用show databases;看看系统中现有的数据库。只有mysql和test两个数据库。ok,到mysql数据库看看。

输入命令use mysql 进入mysql数据库。

show tables ;看看这个数据库里有什么表。还不少呢。总共有6个表。分别是columns_priv,db,func,host,tables_priv,user。我不知道这些表是不是mysql数据库的配置文件,但是user表我知道一点的。用来存储数据库的用户名的。那就先学习user表了。

输入命令 select * from user ; 哇,很多表项啊。分别是host ,user,password,还有select_priv,insert_priv等等授予权限的表项。host是指用户可以登陆mysql的主机名。user和password自然就是用户名和密码了。安装好以后,mysql默认应该有两个用户名吧(这个我自己猜的,不知道对不对),一个是root,还有一个是匿名用户,都是没有密码的。第一次输入的mysql命令的全名应该是 mysql -h hostname -u username -ppassword。默认情况下hostname是localhost,username是登陆系统的用户名。如果是以root登陆,那么就是以root登陆mysql,如果是一般用户,那么应该就是以匿名用户登陆mysql(我的理解,不知道对不对)。

现在应该为root用户指定一个口令了。有三种方式可以指定用户名:

第一种:shell> mysqladmin -u root password new_password 就可以了,我觉得这个是最简单的。

第二种:shell> mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD('new_password')

WHERE user='root'

mysql> FLUSH PRIVILEGES;

要记得告诉服务器再次读入授权表,用FLUSH PRIVILEGES命令,还要记住加分号表示命令结束。

第三种:shell> mysql -u root mysql

mysql> SET PASSWORD FOR root=PASSWORD('new_password');

这个是在mysql3.22和以上的版本中,可以用的SET PASSWORD语句。

当使用INSERT或UPDATE语句存储一个非空口令时,必须使用password()函数加密他。这是因为在user表中以加密的形式存储口令,而不是以文本形式。使用set password语句时,也必须使用password()函数。但是如果使用GRANT ……IDENTIFIED BY 语句或mysqladmin password命令设置口令,password()函数是不必要的。他们都已经考虑到为口令加密了。

ok,root密码设好了。现在通过GRANT来添加几个用户。

shell> mysql -uroot mysql

mysql> GRANT ALL PRIVILEGES ON . TO star@localhost IDENTIFIED BY 'star' WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON . TO star@"%" IDENTIFIED BY 'star' WITH GRANT OPTION;

mysql> GRANT R

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus