如何设置MySQL或MariaDB数据库密码

分享知识  传递快乐

 

1、MySQL

1)用SET PASSWORD命令 

首先登录MySQL。 

格式:mysql> set password for 用户名@localhost = password(‘新密码')

例子:

mysql> set password for root@localhost = password('admini');

2)用mysqladmin 

格式:mysqladmin -u用户名 -p旧密码 password 新密码 

例子:

mysqladmin -uroot -p1234567 password admini

3)用UPDATE直接编辑user表 

首先登录MySQL。 执行以下SQL语句:

 
UPDATE user SET Password = PASSWORD('admini') WHERE user = 'root';

4)MySQL 5.0 及以上版本可以使用授权法

使用grant all privileges on来更改用户对应某些库的远程权限。

格式:grant <权限> on <数据库对象> to <用户>

grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码'
  • 库名:要远程访问的数据库名称,所有的数据库使用“*”
  • 表名:要远程访问的数据库下的表的名称,所有的表使用“*”
  • 用户名:要赋给远程访问权限的用户名称
  • IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%”
  • 密码:要赋给远程访问权限的用户对应使用的密码

例子:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY "admini";

--或

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "admini";

说明:

  • all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等;
  • on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user;
  • to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录;
  • identified by:指定用户的登录密码。

 

可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。

 

2、MariaDB

1)创建数据库时设置密码

mysql_install_db.exe --datadir=D:\mariadb\data --service=MariaDB --password=admini

详情参考《MariaDB安装ZIP软件包》

2)授权法

格式:grant <权限> on <数据库对象> to <用户>

grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码'

例子:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY "admini";

--或

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "admini";

上面已详细解释,在此就不做过多解释。

 

设置完密码后还不能生效,需要重启程序或刷新权限,刷新权限如下:

mysql> flush privileges;

 

配置远程用户访问

MySQL或MariaDB如果需要配置远程用户访问,只需将主机的地址改为%(百分号)就可以了。

 

 

 

 

 

 

 

 

——————————
如有不足请留言指正
相互学习,共同进步

你可能感兴趣的:(#,MySQL,设置MySQL密码,设置MariaDB密码,数据库密码,SET,PASSWORD,grant授权)