Linux安装mysql

  点我直达

Mysql限制root用户ip地址登录

修改mysql库里边的user表:
update mysql.user set host='localhost' where user='root'; 刷新权限:
flush privileges;

修改密码

忘记密码

编辑my.cnf,并添加:skip-grant-tables

编辑my.cnf
vim /usr/local/mysql/my.cnf ==================
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1
#跳过权限表,添加该命令
skip-grant-tables

重启mysql服务

service mysql restart

登录mysql,并修改密码

mysql -uroot -p

直接回车不用输入密码!!!!!!!!
然后使用下面3种修改密码之一即可

修改密码

方式一

  连到数据库中修改密码

格式:
set password for 用户名@ip =password('密码');
alter user '用户'@'ip' identified by '密码'; 刷新权限:
flush privileges; 示例
set password for root@127.0.0.1 = password('root');

方式二

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

方式三

格式:
select * from mysql.user where user='root' \G; update mysql.user set authentication_string=password('123456') where user='root'; 刷新权限:
flush privileges;

创建用户并限制ip登录

创建用户

语法:
create user '用户名'@'ip' identified by '密码'; 用户名:创建的账户
ip:指定该用户在哪个主机上可以登录,如果是本地用户可用localhost,如果想让该用户可以在任意远程主机登录,可以使用通配符:%
密码:该用户的登录密码,密码可以为空,如果为空,则该用户可以不需要密码登录服务器
查看权限:
show grants for '用户名'@'ip';
查看用户权限:
select * from mysql.user where user='用户' \G;

mysql> select * from mysql.user where user='ybchen' \G;
*************************** 1. row ***************************
Host: %
User: ybchen
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
Event_priv: N
Trigger_priv: N
Create_tablespace_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *D2EDE838B7E0B05A2C599D3E1F5821D0ADC4F26E
password_expired: N
password_last_changed: 2020-11-19 23:26:12
password_lifetime: NULL
account_locked: N
1 row in set (0.00 sec)

创建一个用户,并指定密码,限制网段登录

  适用于只能在公司内网环境下开发程序,外网登录不上,限制:172.20网段登录

create user 'ybchen'@'172.20.%.%' identified by '123456';

删除用户

语法:
drop user '用户'@'ip';
语法:
delete from mysql.user where user='用户';

授予用户库表权限

授权

语法:
grant 权限1,权限2... on 数据库 to '用户'
grant 权限1,权限2... on 数据库 to '用户'@'ip' identified by '密码'

  对cyb用户授予所有库所有表所有权限

all privileges:代表所有权限
*.*:代表所有库所有表 grant all privileges on *.* to 'cyb';

  授予cyb2用户,db1库所有权限

语法:
创建用户
create user 'cyb2'@'%' identified by 'cyb2';
授予cyb2用户,db1库的所有权限
grant all privileges on db1.* to 'cyb2'@'%' identified by 'cyb2';
刷新权限
flush privileges;

  授予cyb3用户,db1库student的查询权限(只有增删改查权限,没有新建表、删除表权限)

语法:
创建用户
create user 'cyb3'@'%' identified by 'cyb3';
授予cyb3用户,db1库student,增删改查权限
grant select,update,delete on db1.student to 'cyb3'@'%' identified by 'cyb3';
刷新权限
flush privileges;

移除权限

语法:
revoke 权限1,权限2... on 数据库对象 from '用户'@'ip'
revoke all privileges on *.* from 'cyb'@'%';
flush privileges;

注意

  这种移除权限,但是用户还是可以正常登陆的,如果让用户登陆都登不上,需要将mysql.user的记录删除!

Linux上Mysql数据库 用户权限控制的更多相关文章

  1. navicate 远程无法链接linux上mysql数据库问题

    1. 先确认阿里云是否放开了3306权限 (开启阿里云服务器端口) 2. 连接linux,登录数据库:mysql -uroot -p 修改root用户远程登录权限: 想myuser使用mypasswo ...

  2. mysql数据库用户权限设置

    设置用户权限:格式:grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' identified by '密码'; * 权限列表:用于列出授权的各种数据库操作,通过逗号进行分割,如 ...

  3. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  4. 回顾:Linux环境 Mysql新建用户和数据库并授权

    回顾:Linux环境 Mysql新建用户和数据库并授权 一.新建用户 //登录Mysql @>mysql -u root -p @>密码 //创建用户 mysql> insert i ...

  5. Linux - mysql 异常:登录不上mysql数据库

    问题描述 重启虚拟机之后,用命令 mysql -u root -p 登录不上 mysql 数据库,页面显示: 但是,用命令 service mysqld status 可以查看状态 解决方案 1.查看 ...

  6. Linux 操作mysql数据库 创建库 导入、删除表

    确保线上的运行数据库是不可避免的本人小白,因公司上线没有办法自己去整服务器,深刻体会到服务器大神的霸气,所以为了增加记忆,服务广大员友记录一下 linux mysql 忘记root的密码无法登陆进my ...

  7. mysql grant用户权限设置

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant sele ...

  8. linux下mysql开启远程访问权限 防火墙开放3306端口

    linux下mysql开启远程访问权限 防火墙开放3306端口 转载  2017-01-21   作者:JAVA-ANDROID 这篇文章主要为大家详细介绍了linux下mysql开启远程访问权限,防 ...

  9. Linux下MySQL数据库主从同步配置

    说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...

  10. mysql授权用户权限

    mysql 用户管理和权限设置   用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mys ...

随机推荐

  1. ios显示一个下载banner

    <meta name="apple-itunes-app" content="app-id=432274380" /> 这个标签是告诉iphone的 ...

  2. myBatis foreach详解【转】

    MyBatis的foreach语句详解 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有 item,index,collection,ope ...

  3. 第一讲:WCF介绍

    代码 https://yunpan.cn/cPns5DkGnRGNs   密码:3913                                                         ...

  4. [POJ2104]K-th Number

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 34048   Accepted: 10810 Ca ...

  5. osx的终端软件iterm2 之 修改外观 和 常用快捷键小结

    1.修改外观:透明,自己配色,最好还有个透明的小背景,比如这样: 那么你就要这样修改: 2.快捷键小结 (1)⌘ + d 横着分屏 / ⌘ + shift + d 竖着分屏  : 适合多操作的时候 ( ...

  6. AppSettingManager

    public class AppSettingManager { public static bool Update(string key, string value) { try { var con ...

  7. CPrimer Plus第12章 存储类、链接和内存管理随笔

    被static修饰的属于内部链接,不可被外部程序文件所使用一般而言,全局变量(文件作用域变量)具有静态存储期,局部变量(代码块作用域变量)具有自动存储期寄存器变量不能使用地址运算符因为被static修 ...

  8. Python中的 sort 和 sorted

    今天在做一道题时,因为忘了Python中sort和sorted的用法与区别导致程序一直报错,找了好久才知道是使用方法错误的问题!现在就大致的归纳一下sort和sorted的用法与区别 1. sort: ...

  9. 关于 g++ 编译器

    g++由自由软件基金发行,g++是基于类unix的c++编译器,通常在命令行运行.它一般附带于类Unix系统中,因此如果你正在运行Unix或Linux系统,它很可能已经存在于你的系统中.你可以对一个源 ...

  10. 凡事预则立|项目Beta冲刺准备

    1.讨论组长是否重选的议题和结论. 组员一致认为组长不需要重选,我们都很认可组长的表现,组长的付出我们都看在眼里,我们找不出更适合担任组长的人选. 2.下一阶段需要改进完善的功能. 财富值的布局优化以 ...