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 用户名@"客户端地址";