1.给管理员设置密码

####################################################################################

在命令行界面,关键字mysqladmin,password "密码" 要用引号引起来,因为密码的类型为char 字符型

[root@localhost cd]# mysqladmin -uroot -hlocalhost password "123456"

[root@localhost cd]# mysql -uroot -hlocalhost -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.0.95 Source distribution


Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


####################################################

2.密码忘记的时候怎么办 //改方法要重启数据库,影响很大,所以要妥善管理自己的密码

①、编辑配置文件,然后重启服务

vim /etc/my.cnf

skip-grant-table //添加以上命令,跳过授权表


重启服务

service mysqld restart


②、登陆mysql,手动更新mysql.user的root密码

mysql

mysql> update mysql.user set password=password("123") where user="root" and host="localhost";


mysql> flush privileges;// 对mysql库下的表做手动操作,需要 flush privileges;


mysql>quit


③、重新进入主配置文件,删除主配置文件上 skip-grant-table,重启服务,以新密码登录



##############################################################################

用户授权

① mysql.user 保存数据库的授权用户信息,可以通过以下命令查看

然后再通过show grants for 用户名@“客户端地址”查看具体的权限信息


另外

mysql.db 保存授权用户对某个库的权限信息

mysql.columns_priv 保存对表中字段的授权信息

mysql.tables_priv 保存对表的授权信息


mysql> select user,host,password from mysql.user;

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

| user | host | password |

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

| root | localhost | 565491d704013245 |

| root | localhost.localdomain | |

| root | 127.0.0.1 | |

| | localhost | |

| | localhost.localdomain | |

| user_1 | % | 773359240eb9a1d9 |

| user_2 | % | 773359240eb9a1d9 |

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


mysql> show grants for user_1@"%";

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

| Grants for user_1@% |

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

| GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'user_1'@'%' IDENTIFIED BY PASSWORD '773359240eb9a1d9' |

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

1 row in set (0.00 sec)




② 授权命令

grant 权限列表 on 数据库名 to 用户名@"客户端地址"

identified by "密码" with grant option;

########################################################################


允许使用当前数据库服务器的管理员从网络中的192.168.10.10 连接数据库服务器,密码是888,对数据库服务器上的所有所有表有完全权限且有授权的权限。


grant all on *.* to root@"192.168.10.10" identified by "888" with grant option;


####################################################################################

identified by "密码"

1 指定授权用户密码

2 可选项 如不设置此选项 授权用户登录服务器的时候就没有密码



with grant option

1 授予授权用户有授权的权限,自己有什么样的权限 就可以授予其他用户什么样 的权限

2 可选项 如不设置此选项 授权用户就没有授权的权限


③ 撤销授权

revoke 权限列表 on 数据库 from 用户名@"客户端地址";