您的位置:首页 > 数据库 > MySQL

mysql数据库安装后配置

2013-12-21 00:00 281 查看
摘要: mysql在安装好后的创建用户、为用户分配权限等

在安装好mysql数据库后,系统默认只有root用户,并且没有密码、不可远程登录的,这在实际场景中显然不可行,下面我综合自己在网上收集的资料和实际的操作,总结如下:

1、为root用户创建密码

首先要正常启动mysql服务,不管具体环境(windows/linux)在命令行输入“mysql”不加参数都会进入以“mysql>"开头的提示符,说明启动成功,否则服务就没有启动成功,这个就要另行解决了:)。

我们回到正题,在命令行中输入:

mysql -uroot -p
运行,会叫你输入密码,但是现在root用户是没有密码的,所以直接回车就是,现在你的提示符已经是”mysql“了,接下来就是为root用户增加密码了。

现在需要改变当前使用的数据库为mysql,输入命令:

use mysql;
会提示数据库切换成功,接下来就是增加密码,实际上是一条数据库更新语句:

update user set password=password('<password>') where user='root';
这里”<password>“需要替换为你需要的密码。

提示成功后,重启数据库服务就好了。

2、新建用户

root是最高权限的用户,在实际的使用中应该为具体的应用新建用户分配权限,这样在安全性上就会好很多,下面就来说一下新建用户的步骤。

首先要以root用户通过密码登录系统,然后运行命令创建用户:

CREATE USER '<username>'@'<host>' [IDENTIFIED BY '<password>'];
这里做一下说明:

”<username>“替换为具体的用户名,

”<host>“替换为允许用户登陆的主机,允许域名和IP或者通配符,%代表所有主机,

”<password>“替换为密码,如果不设置密码可以将[]内的内容忽略,但这是不推荐的,以后还得仿照上面的方法添加密码。

例如,要新建一个名为”oschina“的用户,密码为”testpassword“,允许在所有主机登录,那么命令为:

CREATE USER 'oschina'@'%' IDENTIFIED BY 'testpassword';
至此用户新建完成,下面分配权限。

3、为用户分配权限

通过上面的步骤新建了一名用户,接下来就是分配权限了,分配权限的语句模板为:

GRANT <privileges> ON <databasename>.<tablename> TO '<username>'@'<host>';
说明如下:

privileges是具体要分配的权限,可以这样写”SELECT , INSERT , UPDATE“,也可以是”ALL“代表所有权限,

databasename是数据库的名称,tablename是数据库里面表的名称,这两个都接受通配符,例如”*.*“代表所有的数据库和表,”oschina.*“代表数据库名称为oschina的数据库的所有表,

username是用户名,

host是用户使用的主机,接受%作为所有主机的通配符。

例如,要为先创建的oschina用户分配数据库oschina的所有表在所有主机上操作的所有权限,语句如下:

GRANT ALL ON oschina.* TO 'oschina'@'%';


这样就为用户分配了权限。

如果要撤销权限,使用语句:

REVOKE <privilege> ON <databasename>.<tablename> FROM '<username>'@'<host>';
具体说明参照授权部分,不再赘述。

4、远程登录权限

到目前为止,所有用户都还没有在远程主机上登陆的权限,下面就来为特定用户开通远程操作数据库的权限。

语句的模板为:

grant all privileges on <database>.<table> to <username>@'<host>' identified by '<password>';
其实和为普通用户分配权限的语句相同,例如要为root用户开通所有远程主机操作所有数据库的所有权限,也就是允许root远程操作,裕居委:

grant all privileges on *.* to root@'%' identified by 'root';


后面的那个”by 'root'“的root是具体的密码,根据实际情况替换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql root 权限 用户