安装MySQL数据库
1. 执行以下命令,下载并安装MySQL官方的Yum Repository。
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
2. 执行以下命令,启动 MySQL 数据库。
service mysqld start (5.0版本是mysqld)
service mysql start (5.5.7版本是mysql)
3. 执行以下命令,查看MySQL初始密码。
grep "password" /var/log/mysqld.log
或者
grep 'temporary password' /var/log/mysqld.log
4.执行以下命令,登录数据库。
mysql -uroot -p
5.执行以下命令,修改MySQL默认密码。
set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。
ALTER USER
'root'@'localhost' IDENTIFIED BY '12345678';
6.执行以下命令,授予root用户远程管理权限。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
用户权限管理主要有以下作用:
可以限制用户访问那些库、那些表
可以限制用户对那些便执行SELECT 、CREATE、DELETE、ALTER操作
可以限制用户登录的IP或域名
可以限制用户自己的权限是否可以授权给别的
开用户权限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
使用GRANT:该命令用来建立新用户,指定用户口令,并增加用户权限。其格式大致如下:
mysql:GRANT ON TO [IDENTIFIED BY ""] [WITH GRANT OPTION];
<>里边里边表示待填充的内容:分别是什么意思呢?
privileges:是一个用逗号分隔的你想赋予的权限列表,可以是分别指定的权限比如:SELECT、CREATE、DROP等;也可以是所有权限: all privileges
ON:表示权限对对那些数据库和表生效,格式是:数据库名和表名。这里可以写 “*” 表示所有数据库,所有表。如果我要指定将权限应用到hh库中的hhh表,可以在 what 处这么写:hh.hhh
TO:表示将权限赋予给那个用户。格式为:" 用户名"@“登录的IP或域名” 。%表示没有限制,在任何主机上都可以登录。比如:“root”@“192.167.0.%”,表示root这个用户只能在192.167.0 IP段登录。
identified by:指定用户的登录密码
with grant option :表示允许用户将自己的权限授权给其他的用户。
用GRANT方法给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。
那么我们如何将数据库的用户权限开到最大呢?也就是开一个允许所有的主机登录,对所有的库和表拥有所有的权限呢?
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
执行上一句命令后表示所有的主机只需要输入用户名 root 密码 123456 和我的IP地址就可以对我所有的库和表进行所有操作:如图所示:
二、刷新权限:
对用户做了权限变更之后,一定记得重新加载一下权限,将权限信息从内存中写入数据库。
mysql> flush privileges;
1
如图所示:
到这里我们就已将开启了数据库的最大权限啦。
权限管理转载 :https://blog.csdn.net/qq_38101834/article/details/86661021