分享知识 传递快乐
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如果需要配置远程用户访问,只需将主机的地址改为%(百分号)就可以了。
——————————
如有不足请留言指正
相互学习,共同进步