Ubuntu Mysql安装配置
2010-10-16 17:31
323 查看
a) sudo apt-get install mysql-server
b) sudo gedit /etc/mysql/my.cnf
将127.0.0.1替换成实际IP
c) sudo mysql -u root -p
输入数据库root密码
use mysql;
select * from user; 4个帐号
分配远程访问帐号 grant all privileges on *.* to root@"%" identified by "123456";
select * from user; 5个帐号
exit;
d) sudo /etc/init.d/mysql restart
e) 使用workbench或HeidiSQL_5.1_Portable
问题:有遇到步骤c)执行分配后需要重启才能添加的情况。
附:mysql创建和删除用户方法
一、创建用户
命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
1.1) 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
1.2) 例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
二、撤权并删除用户
2.1) 撤权
要取消一个用户的权限,使用REVOKE语句。REVOKE的语法非常类似于GRANT语句,除了TO用FROM取代并且没有INDETIFED BY和WITH GRANT OPTION子句:
REVOKE privileges (columns) ON what FROM user
user部分必须匹配原来GRANT语句的你想撤权的用户的user部分。privileges部分不需匹配,你可以用GRANT语句授权,然后用REVOKE语句只撤销部分权限。
REVOKE语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。
2.2)删除用户
要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录:
use user;
DELETE FROM user WHERE User='user_name' and Host='host_name';
FLUSH PRIVILEGES;
DELETE语句删除用户记录,而FLUSH语句告诉服务器重载授权表。(当你使用GRANT和REVOKE语句时,表自动重载,而你直接修改授权表时不是。)
b) sudo gedit /etc/mysql/my.cnf
将127.0.0.1替换成实际IP
c) sudo mysql -u root -p
输入数据库root密码
use mysql;
select * from user; 4个帐号
分配远程访问帐号 grant all privileges on *.* to root@"%" identified by "123456";
select * from user; 5个帐号
exit;
d) sudo /etc/init.d/mysql restart
e) 使用workbench或HeidiSQL_5.1_Portable
问题:有遇到步骤c)执行分配后需要重启才能添加的情况。
附:mysql创建和删除用户方法
一、创建用户
命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
1.1) 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
1.2) 例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
二、撤权并删除用户
2.1) 撤权
要取消一个用户的权限,使用REVOKE语句。REVOKE的语法非常类似于GRANT语句,除了TO用FROM取代并且没有INDETIFED BY和WITH GRANT OPTION子句:
REVOKE privileges (columns) ON what FROM user
user部分必须匹配原来GRANT语句的你想撤权的用户的user部分。privileges部分不需匹配,你可以用GRANT语句授权,然后用REVOKE语句只撤销部分权限。
REVOKE语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。
2.2)删除用户
要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录:
use user;
DELETE FROM user WHERE User='user_name' and Host='host_name';
FLUSH PRIVILEGES;
DELETE语句删除用户记录,而FLUSH语句告诉服务器重载授权表。(当你使用GRANT和REVOKE语句时,表自动重载,而你直接修改授权表时不是。)
相关文章推荐
- Ubuntu下MySQL安装与配置
- Ubuntu安装配置Mysql
- Ubuntu下安装配置JDK,Tomcat,MySql
- mysql 5.7.16 安装配置方法图文教程(ubuntu 16.04)
- UBUNTU下安装 APACHE+PHP+MYSQL WEB服务器配置
- Ubuntu 11.04下Nginx+PHP+Mysql+Tomcat安装配置
- ubuntu下MySQL的安装及远程连接配置等配置
- Ubuntu下MySQL安装及配置远程登录教程
- ubuntu java环境配置及mysql安装
- Ubuntu下MySQL的安装、配置、启动、停止、重启、乱码问题
- Ubuntu下安装mysql配置检测
- Ubuntu 9.10 安装配置 MySQL
- 基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
- ubuntu linux系统中安装mysql以及windows安装配置sqlyog
- ubuntu下安装tomcat和配置mysql
- ubuntu15.04 安装mysql及配置远程访问
- ubuntu下安装并配置Nginx、php、mysql
- Ubuntu Server 11.10 安装 MySQL,简单配置,及图形化工具
- Ubuntu安装配置PHP,Apache,MySQL
- ubuntu 安装mysql-server配置