目录
一、数据库管理操作
1.新建数据库用户
CREATE USER '用户名'@'来源地址' IDENTIFIED BY '密码';
来源地址:是指定用户在那些主机登录,可使用ip地址、网段、主机名的形式;
本地用户可用 localhost;允许任意主机登录可用通配符 %
密码:若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;
若使用加密密码,需要先使用SELECT PASSWORD('密码'),获取密文,再在语句中添加PASSWORD'密文;若省略"IDENTIFIED BY"部分,则用户的密码将为空(可在配置文件设置不允许空设密码)
(1)创建用户使用明文设置密码
(2)获取密文再给新用户设置密码
(3)查看数据库用户和其他信息
SELECT user,host,authentication_string FROM mysql.user; 查看用户,指定地址,密码
mysql.user中的authentication_string字段显示的是加密后的密码
(4)查看当前登录用户信息
2.修改数据库用户相关信息
RENAME USER '已有用户'@'来源地址' TO '修改后用户'@'修改后来源地址';
3.删除数据库用户
DROP USER '已有用户'@'来源地址';
4.修改用户密码
(1)修改当前用户密码
SET PASSWORD = PASSWORD('新密码');
(2)root用户修改其他用户的密码
SER PASSWORD FOR '已有用户'@'来源地址' = PASSWORD('新密码');
2.授权新用户权限
新创建的用户,默认只有登录权限,不能对数据库和表操作,GRANT 语句专门用来设置数据库用户的访问权限。
当指定的用户名不存在时,GPANT语句将会创建新的用户;
当指定的用户名存在时,GRANT语句用于修改用户信息。
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];
所有权限可以用ALL [PRIVILEGES];
所有库和表可以用 * ;
所有地址可以用 % ;
新建用户时添加 [IDENTIFIED BY '密码']。
权限名和对应功能参考 Mysql数据库的权限汇总_Evens7xxX的博客-CSDN博客
3.查看用户权限
SHOW GRANTS FOR '用户名'@'来源地址';
4.撤销用户权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'来源地址';
二、忘记数据库root用户密码的解决办法
修改mysql配置文件,添加跳过密码验证登录配置
//修改mysql配置文件,添加跳过密码验证登录配置
vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
...
[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash
...
[mysqld]
skip-grant-tables //在mysqld配置块下添加
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
...
//重启服务加载配置
systemctl restart mysqld
修改后登录无需密码
修改root用户密码
查看并测试登录
三、远程登录指定主机的数据库
mysql -u 用户名 -p密码 -h 远程登录的主机ip地址 -P 数据库端口(一般为3306)