在MySql中添加远程超级用户
2008-11-24 17:59
489 查看
不管是在编程时或者用软件连接MySql数据库都需要一个数据库用户名,在非常多的情况下我们还有必要通过超级用户帐号登陆或连接数据库,但是在安装MySql后只有一个超级管理权限的用户ROOT,而且ROOT限制只能在数据库本机上使用,这时候再用ROOT帐号就比较麻烦了。
幸运的是我们可以添加一个具有超级管理权限和能远程访问MySql数据库的超级用户,可以通过下面两种方法实现这个操作,比如增加一个超级用户admin:
1. 使用GRANT语句添加:首先在数据库本机上用ROOT用户
登录MySql(我是用远程控制linux服务器,相当于在服务器本机登录MySql了),然后输入:
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
添加一个用户admin并授权通过本地机(localhost)访问,密码“something”。
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
添加一个用户admin并授权可从任何其它主机发起的访问(通配符%)。使用这一条语句即可。
mysql> grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
权限1,权限2,...权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,...权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用'%'表示从任何地址连接。
'连接口令'不能为空,否则创建失败。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by '123';
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
2.使用INSERT语句:
mysql>INSERT INTO user VALUES('%','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y') (可能不止这 十几个。好象有 二十几个。而且还有其他的 字段)。
用户信息可在mysql数据库中的users表中查看,这里不在介绍了就。数清Y的个数哦。
为了省事大家可以用 第一种方法,也非常的 方便,呵呵!
幸运的是我们可以添加一个具有超级管理权限和能远程访问MySql数据库的超级用户,可以通过下面两种方法实现这个操作,比如增加一个超级用户admin:
1. 使用GRANT语句添加:首先在数据库本机上用ROOT用户
登录MySql(我是用远程控制linux服务器,相当于在服务器本机登录MySql了),然后输入:
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
添加一个用户admin并授权通过本地机(localhost)访问,密码“something”。
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
添加一个用户admin并授权可从任何其它主机发起的访问(通配符%)。使用这一条语句即可。
mysql> grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
权限1,权限2,...权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。
当权限1,权限2,...权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用'%'表示从任何地址连接。
'连接口令'不能为空,否则创建失败。
例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123';
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by '123';
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
2.使用INSERT语句:
mysql>INSERT INTO user VALUES('%','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y') (可能不止这 十几个。好象有 二十几个。而且还有其他的 字段)。
用户信息可在mysql数据库中的users表中查看,这里不在介绍了就。数清Y的个数哦。
为了省事大家可以用 第一种方法,也非常的 方便,呵呵!
相关文章推荐
- Mysql添加远程超级用户
- MySql添加远程超级管理员用户
- Mysql添加远程超级用户
- 在MySql中添加远程超级用户
- 在MySql中添加远程超级用户
- MySQL用户账号管理(添加、删除、限制、设置密码、远程访问)
- MYSQL添加远程用户或允许远程访问
- MYSQL添加远程用户或允许远程访问方法
- MYSQL添加远程用户或允许远程访问三种方法
- MYSQL添加远程用户或允许远程访问三种方法
- Mysql开启远程连接(添加远程连接用户)
- 给MySQL添加root用户的远程权限
- MYSQL添加远程用户或允许远程访问三种方法
- mysql中添加一个和root一样的用户用于远程连接
- linux mysql远程连接,添加登录用户
- 给MySQL添加超级用户权限
- Mysql权限,用户添加,远程连接问题汇总
- HOSt ip is not allowed to connect to this MySql server, MYSQL添加远程用户或允许远程访问三种方法
- MYSQL添加远程用户或允许远程访问三种方法
- MYSQL添加远程用户或允许远程访问三种方法