忘记了密码:
修改配置文件,跳过密码验证
2. 修改mysql的配置文件my.cnf
my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf
在配置文件中,增加'skip-grant-tables'
[mysqld]
skip-grant-tables
设置root密码
mysql -u root -p
use mysql;
update user set authentication_string=password('root') where user='root';
flush privileges;
配置远程登录(授权)
授权:
1、方法一:改表法。
在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';
select host, user from user;
2、方法二、授权法。
(1)例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
(2)如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
(3)如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
创建用户、限制权限
1创建用户:
CREATE USER 'yymt'@'localhost' IDENTIFIED BY '123456';
可以手动修改%号支持远程登录(localhost是不支持远程登录的),再刷新,之后还需授权
flush privileges;
授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2移除删除(库和表)权限,可以删除插入的数据。
revoke drop on *.* from 'yymt'@'%';
flush privileges;
#撤销yymt用户的全部权限:
#REVOKE ALL PRIVILEGES FROM yymt;
#flush privileges;