LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 546|回复: 7

关于mysql数据库管理员密码的问题

[复制链接]
发表于 2003-12-12 09:26:31 | 显示全部楼层 |阅读模式
我在windows2000 server里安装了mysql,一切正常,
到c:\mysql\bin目录下. 在MS-DOS窗口在c:\mysql\bin>提示符下输入mysqld ,执行MYSQL守护进程!没有任何提示,我的mysql正常。
然后我执行
C:\mysql\bin>mysqladmin ping
mysqld is alive
C:\mysql\bin>mysqlshow

+-----------+

| Databases |

+-----------+

| mysql     |

| test      |  

+-----------+
输入mysql进行登陆!
接着我输入
C:\mysql\bin>mysql
按理来说应该提示我输入管理员用户名和密码才对,但没有,直接出来Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 8 to server version: 3.23.21-beta-debug
Type 'help' for help.
我安装程序的时候我不知道我的管理员用户名和密码,我不知道怎么改管理员用户名和密码,如果不改,我现在的管理员用户名和密码是什么呢?请大家帮忙,谢谢了!
 楼主| 发表于 2003-12-12 09:39:26 | 显示全部楼层

北南南北老大看,没办法。我发在别的栏目里。没人理,我太急了。谢谢

菜鸟的问题,关于mysql数据库管理员密码的问题
我在windows2000 server里安装了mysql,一切正常,
到c:\mysql\bin目录下. 在MS-DOS窗口在c:\mysql\bin>提示符下输入mysqld ,执行MYSQL守护进程!没有任何提示,我的mysql正常。
然后我执行
C:\mysql\bin>mysqladmin ping
mysqld is alive
C:\mysql\bin>mysqlshow

+-----------+

| Databases |

+-----------+

| mysql |

| test |

+-----------+
输入mysql进行登陆!
接着我输入
C:\mysql\bin>mysql
按理来说应该提示我输入管理员用户名和密码才对,但没有,直接出来Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 8 to server version: 3.23.21-beta-debug
Type 'help' for help.
我安装程序的时候我不知道我的管理员用户名和密码,我不知道怎么改管理员用户名和密码,如果不改,我现在的管理员用户名和密码是什么呢?请大家帮忙,谢谢了!
发表于 2003-12-12 09:45:12 | 显示全部楼层
mysql -h localhost -u root -p
就可以了
如果没密码,在提示输入密码的时候直接回车
发表于 2003-12-12 09:46:57 | 显示全部楼层
兄弟这种问题已经被问烂了,呵呵,没人答理你比较正常。
这属于mysql的权限问题。
缺省是没有密码的。
先找一份mysql中文手册,花上一个小时或者是半个小时的时间看看它的第六章,就全部搞定了。
 楼主| 发表于 2003-12-12 09:50:20 | 显示全部楼层

谢谢老大们,黄老大的教诲对,但我现在真的很急,

谢谢老大们,黄老大的教诲对,但我现在真的很急,刚才我的mysql确实没密码,我按照上面老大说的已经通过了,但怎么给加上管理员密码呢,老大,救救我吧,我明天就拿书看去,今天确实很急,我的数据库又很烂。没办法了。谢谢
发表于 2003-12-12 09:52:41 | 显示全部楼层

回复: 谢谢老大们,黄老大的教诲对,但我现在真的很急,

最初由 lhc9732 发表
谢谢老大们,黄老大的教诲对,但我现在真的很急,刚才我的mysql确实没密码,我按照上面老大说的已经通过了,但怎么给加上管理员密码呢,老大,救救我吧,我明天就拿书看去,今天确实很急,我的数据库又很烂。没办法了。谢谢


叶兄说的没有错,其实我的水平还不如兄弟,我也是看mysql的文档学了一占皮毛。学习如果找到方法就比较好办。



http://www.linuxsir.cn/forum.php?mod=viewthread&tid=77079


1]如何创建mysqld数据库的管理用户??

数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令;

[root@linuxsir01 root]# /opt/mysql/bin/mysqladmin -u root password 123456
[root@linuxsir01 root]#

通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。

2]如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例;

[root@linuxsir01 root]#/opt/mysql/bin/mysql -uroot -p123456

输出上面的命令后,出现的是如下的提示;

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

注意:操作这些命令的时候,应该把mysqld服务器打开。这些新手兄弟早就知道了吧:)


3]如何在数据库中操作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄,也不是什么难事;在windows中操作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。

在mysql数据库中,每操作一个命令,都是;号结尾的,可能有的新手弟兄,忘记输入了;号结尾,结果退不出来。

1]查看mysql中都有哪些数据库?

源码:
mysql> show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.00 sec)

mysql>


在mysql安装好,设置好管理员后,第一次进入系统,我们用show databases;命令查看数据库的列表,发现有两个数据库,mysql和test,这是系统自建的,是让大家练习用的。

4]如何创建和删除一个数据库?

比如我要创建一个名为linux的数据库,应该运行如下命令

mysql> create database [数据库名];

所以我们应该运行如下的命令,来创建名为linux的数据库

mysql> create database linux;
Query OK, 1 row affected (0.00 sec)

是不是建好了呢??肯定是建好了,因为都有OK了

查看是不是有linux这个数据库了呢?

源码:
mysql> show databases;
+----------+
| Database |
+----------+
| linux    |
| mysql    |
| test     |
+----------+
3 rows in set (0.00 sec)

mysql>


那我们如何删除一个数据库呢??
mysql> drop database [数据库名];

比如我们要把刚才创建的linux数据库删除,应该用下面的命令;
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)

是不是已经删除了呢??

源码:
mysql> show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.00 sec)

mysql>



5]如何操作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令

mysql>use [数据库];

比如我想指定linux这个数据库为当前数据库,应该是

mysql> use linux;
Database changed
mysql>



6]如何备份数据库??

比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump

命令格式如下:

[root@linuxsir01 root]# /opt/mysql/bin/mysqldump -uroot -p linux > /root/linux.sql
Enter password:在这里输入数据库的密码

通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排;

比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。
[root@linuxsir01 root]#/opt/mysql/bin/mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在这里输入数据库管理员root的数据库密码

这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql

综上所述,我们学习时要学会变通。

5]如何把把备份的数据库导入到数据库中?

首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。

比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作;

[root@linuxsir01 root]# /opt/mysql/bin/mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
Enter password:在这里输入密码

如果机器好,数据库比较小,几分钟就好了。

6]其它一些比较常用的mysql指令;

查看状态
mysql> show status;

查看进程

源码:
mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host      | db   | Command | Time | State | Info             |
+----+------+-----------+------+---------+------+-------+------------------+
| 16 | root | localhost | NULL | Query   | 0    | NULL  | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)

mysql>


查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库;

mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)

mysql>


7]对mysql数据库常用命令的一点补充;


几个常用的mysql相关的管理命令

mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。

mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;

isamchk 是用来修复、检查和优化.ism后缀的数据库文件;

mysqldump 是用于备份数据库,前面已经简单的说明过;


myisamchk 用来修复.myi后缀的数据库文件;

比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令;

要把mysqld服务器停下来
[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop

然后执行
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI

上面的命令的意思就是检查所有的.myi文件,数据库的目录在/opt/mysql/var/linux/目录中

如果有问题,应该用-r参数来修复
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI

6]mysqlshow 命令:显示用户选择的数据库和表
[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [数据库名]

比如我要查看名为linux的数据库;应该是:

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux
发表于 2003-12-12 10:07:36 | 显示全部楼层
改变管理员密码很简单,一条命令就可以搞定:
mysql -u root mysql
使用root用户登录到mysql数据库,注意是mysql这个数据:

然后查询一下你现在有几个用户:
select host, user from user;

仔细看看:
先删除掉test用户
delete from user where user='test';
然后删除掉不是本机的用户,以防不测:
delete from user where host != 'localhost';
刷新权限表:
flush privileges;
再次看一下是不是已经只剩一个root用户了:
select host, user from user;
而且host栏是localhost
好了,然后设置root的密码:
set password for root@localhost =  PASSWORD(‘你的密码');
注意一定要使用password这个函数来加密你的密码,要不然会登录不上去的。
大功告成了,基本你的mysql现在已经比较安全了,但是要注意以后的问题。
祝好运。
 楼主| 发表于 2003-12-12 10:37:48 | 显示全部楼层

谢谢各位老大,搞定了。

谢谢各位老大,真的很感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表