mysql数据库安装后配置
2013-12-21 00:00
281 查看
摘要: mysql在安装好后的创建用户、为用户分配权限等
在安装好mysql数据库后,系统默认只有root用户,并且没有密码、不可远程登录的,这在实际场景中显然不可行,下面我综合自己在网上收集的资料和实际的操作,总结如下:
1、为root用户创建密码
首先要正常启动mysql服务,不管具体环境(windows/linux)在命令行输入“mysql”不加参数都会进入以“mysql>"开头的提示符,说明启动成功,否则服务就没有启动成功,这个就要另行解决了:)。
我们回到正题,在命令行中输入:
现在需要改变当前使用的数据库为mysql,输入命令:
提示成功后,重启数据库服务就好了。
2、新建用户
root是最高权限的用户,在实际的使用中应该为具体的应用新建用户分配权限,这样在安全性上就会好很多,下面就来说一下新建用户的步骤。
首先要以root用户通过密码登录系统,然后运行命令创建用户:
”<username>“替换为具体的用户名,
”<host>“替换为允许用户登陆的主机,允许域名和IP或者通配符,%代表所有主机,
”<password>“替换为密码,如果不设置密码可以将[]内的内容忽略,但这是不推荐的,以后还得仿照上面的方法添加密码。
例如,要新建一个名为”oschina“的用户,密码为”testpassword“,允许在所有主机登录,那么命令为:
3、为用户分配权限
通过上面的步骤新建了一名用户,接下来就是分配权限了,分配权限的语句模板为:
privileges是具体要分配的权限,可以这样写”SELECT , INSERT , UPDATE“,也可以是”ALL“代表所有权限,
databasename是数据库的名称,tablename是数据库里面表的名称,这两个都接受通配符,例如”*.*“代表所有的数据库和表,”oschina.*“代表数据库名称为oschina的数据库的所有表,
username是用户名,
host是用户使用的主机,接受%作为所有主机的通配符。
例如,要为先创建的oschina用户分配数据库oschina的所有表在所有主机上操作的所有权限,语句如下:
这样就为用户分配了权限。
如果要撤销权限,使用语句:
4、远程登录权限
到目前为止,所有用户都还没有在远程主机上登陆的权限,下面就来为特定用户开通远程操作数据库的权限。
语句的模板为:
后面的那个”by 'root'“的root是具体的密码,根据实际情况替换。
在安装好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是具体的密码,根据实际情况替换。
相关文章推荐
- Linux环境下的Mysql数据库安装与配置
- MySQL数据库安装配置
- redhat9安装配置mysql数据库(系统自带,版本3.23.54)
- centos7 mysql数据库安装和配置
- Centos6.4安装erlang并配置mysql数据库
- mysql数据库安装与配置
- CentOS6.4下Mysql数据库的安装与配置
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
- MySQL数据库安装与配置详解
- CentOS6.5下Mysql数据库的安装与配置
- CentOS6.5安装与配置Mysql数据库
- 安装linux学习三(1):CentOS6.4下Mysql数据库的安装与配置
- CentOS6.5安装与配置Mysql数据库
- centos7 mysql数据库安装和配置
- CentOS配置安装MySQL数据库之浅谈
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
- centos7 mysql数据库安装和配置
- CentOS6.4下Mysql数据库的安装与配置
- centos7 mysql数据库安装和配置
- MySQL数据库主从同步安装与配置总结