扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户并指定其权限,而REVOKE语句删除权限。两条语句扮演了mysql数据库的前端角色,并提供与直接操作这些表的内容不同的另一种方法。CREATE和REVOKE语句影响4个表:
成都创新互联公司主要从事网站制作、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务正阳,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
授权表 内容
user 能连接服务器的用户以及他们拥有的任何全局权限
db 据库级权限
tables_priv 表级权限
columns_priv 列级权限
还有第5个授权表(host),但它不受GRANT和REVOKE的影响。
你可能也想考虑使用mysqlaccess和mysql_setpermission脚本,它是MySQL分发的一部分,它们是Perl脚本,提供GRANT语句的另一种选择设置用户账号。mysql_setpermission需要安装DBI支持。
1 创建用户并授权
GRANT语句的语法看上去像这样:
GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION
要使用该语句,你需要填写下列部分:
privileges
授予用户的权限,下表列出可用于GRANT语句的权限指定符:
权限指定符 权限允许的操作
ALTER 修改表和索引
CREATE 创建数据库和表
DELETE 删除表中已有的记录
登录数据库
“命令提示字符”窗口录入,
录入cd
C:\mysql\bin
并按下回车键,将目录切换为
cd
C:\mysql\bin
再键入命令mysql
-uroot
-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql
修改密码
C:\mysql\bin提示符下录入:
格式:mysqladmin
–u用户名
-p旧密码
password
新密码
例如:给root加个密码ab12。键入以下命令:
mysqladmin
-uroot
password
ab12
你好,
方法1 用SET PASSWORD命令
1
1、打开终端win+r输入cmd回车即可打开;
2、通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。
3、修改MySQL的root用户密码,格式:mysql set password for 用户名@localhost = password('新密码'); 例子:mysql set password for root@localhost = password('shapolang'); 上面例子将用户root的密码更改为shapolang ;
重新登录,输入新密码shapolang就ok了;
END
方法2 用mysqladmin
1
1、打开终端win+r输入cmd回车即可打开;
2、修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -pshapolang password 123456
上面例子将用户root原来的密码shapolang改为新密码123456
重新登录,输入新密码123456就ok了;
END
方法3 用UPDATE直接编辑user表
1
1、首先登录MySQL。
2、 连接权限数据库: use mysql; 。3、改密码:update user set password=password("shapolang") where user="root";(别忘了最后加分号) 。 4、刷新权限(必须步骤):flush privileges;
重新登录,输入新密码shapolang就ok了;
END
方法4 忘记root密码的时候
1
1、关闭正在运行的MySQL服务。
2、打开DOS窗口,转到mysql\bin目录。 3、 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4、再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 。 6、连接权限数据库: use mysql; 。 7、改密码:update user set password=password("root") where user="root";(别忘了最后加分号) 。 8、刷新权限(必须步骤):flush privileges; 。 9、退出 quit。
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;
php修改mysql数据库中的用户名和密码方法如下:
方法一
1、使用phpmyadmin,这是最简单的了,修改mysql库的user表,
2、不过别忘了使用PASSWORD函数。
方法二
1、使用mysqladmin,这是前面声明的一个特例。
2、mysqladmin -u root -p password mypasswd ,输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
3、把命令里的root改为你的用户名,你就可以改你自己的密码了。
4、当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 那么这种方法就是无效的。 而且mysqladmin无法把密码清空。
5、下面的方法都在mysql提示符下使用,且必须有mysql的root权限:
方法三
1、mysql INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql FLUSH PRIVILEGES
2、确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
3、在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
4、注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。
方法四
和方法三一样,只是使用了REPLACE语句
mysql REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql FLUSH PRIVILEGES
方法五
1、使用SET PASSWORD语句,
mysql SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
2、也必须使用PASSWORD()函数,
3、但是不需要使用FLUSH PRIVILEGES。
方法六
1、使用GRANT ... IDENTIFIED BY语句
mysql GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
2、这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
1
使用具有数据库管理权限的用户登陆mysql,如root@localehost用户
$
mysql
-uroot
-p'root_password'
2
在mysql中创建用户名和密码
mysql
create
user
'new_username'@'%'
identified
by
'new_password';
3
配置权限
mysql
grant
all
privileges
on
*.*
to
'new_username'@'%'
with
grant
option;
4
提交并立即生效
mysql
commit;
mysql
flush
privileges;
5
退出mysql
mysql
quit
完成
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流