mysql添加,授权,删除用户以及连接数据库Can't connect to MySQL server on '192.168.31.106' (113)错误排查

centos7下面操作mysql添加,授权,删除用户

添加用户

以root用户登录数据库,运行以下命令:

create user test identified by ‘123456789‘;

上面创建了用户test,密码是123456789。我们在mysql.user表里面可以看到新增的用户信息

    +------+----------------+-------------------------------------------+
    | user | host           | password                                  |
    +------+----------------+-------------------------------------------+
    | test | %              | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D |
    +------+----------------+-------------------------------------------+

授权

命令格式:grant privilegesCode on dbName.tableName to [email protected] identified by "password";

MariaDB [test]>  grant all privileges on test.* to ‘test‘@‘%‘ identified by ‘123456789‘;
Query OK, 0 rows affected (0.00 sec)
MariaDB [test]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

上面的语句将test表的所有操作权限都给了用户test,并且密码是123456789 同样我们查看mysql.user的信息

select user,host,password, Select_priv,Insert_priv, Update_priv ,Delete_priv from user where user=‘test‘;
+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
| user | host           | password                                  | Select_priv | Insert_priv | Update_priv | Delete_priv |
+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
| test | %              | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D | Y           | Y           | Y           | Y           |
+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
1 rows in set (0.00 sec)

也可以使用show grants命令查看授权的权限信息

show grants for ‘test‘;
+--------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]%                                                                                            |
+--------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO ‘test‘@‘%‘ IDENTIFIED BY PASSWORD ‘*CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D‘ |
| GRANT ALL PRIVILEGES ON `test`.* TO ‘test‘@‘%‘                                                               |
+--------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
privilegesCode表示授予的权限类型,常用的有以下几种类型[1]:
  • all privileges:所有权限。
  • select:读取权限。
  • delete:删除权限。
  • update:更新权限。
  • create:创建权限。
  • drop:删除数据库、数据表权限。
dbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:
  • .:授予该数据库服务器所有数据库的权限。
  • dbName.*:授予dbName数据库所有表的权限。
  • dbName.dbTable:授予数据库dbName中dbTable表的权限。

[email protected]表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:

  • localhost:只允许该用户在本地登录,不能远程登录。
  • %:允许在除本机之外的任何一台机器远程登录。
  • 192.168.52.32:具体的IP表示只允许该用户从特定IP登录。
password指定该用户登录时的面。
flush privileges表示刷新权限变更。

修改密码

update mysql.user set password = password(‘123‘) where user = ‘test‘ and host = ‘%‘;
flush privileges;

删除用户

drop user [email protected]‘%‘;

drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表的相应记录都消失了。

总结

当我们部署代码的时候需要创建用户并且赋予操作数据库的权限,那我们可以使用命令:

grant privilegesCode on dbName.tableName to [email protected] identified by "password";

需要注意的是,当我们操作权限的时候,需要选择host,也就是允许访问的地址 比如

  • localhost:只允许该用户在本地登录,不能远程登录。
  • %:允许在除本机之外的任何一台机器远程登录。
  • 192.168.52.32:具体的IP表示只允许该用户从特定IP登录。

同时当一切都准备好了之后,当我们在另一台机器访问的时候,如果出现下面的错误:

# mysql -h192.168.31.106 -utest -p;
Enter password:
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.31.106‘ (113)

错误排查

  • 1、确定远程机器的防火墙关闭,或在防火墙允许3306端口号
  • 2、确定数据库允许远程访问,通过语句grant privilegesCode on dbName.tableName to [email protected] identified by "password";授权对应的host就可以了。

mysql添加,授权,删除用户以及连接数据库Can't connect to MySQL server on '192.168.31.106' (113)错误排查

原文地址:https://www.cnblogs.com/ricklz/p/12272073.html

时间: 2024-10-01 06:48:46

mysql添加,授权,删除用户以及连接数据库Can't connect to MySQL server on '192.168.31.106' (113)错误排查的相关文章

【转】ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.165' (113)

原文转自:http://blog.csdn.net/chengyuqiang/article/details/54285857 1.程序报错: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link 2.尝试远程连接数据库: [[email protected] ~]# mysql -h192.168.1.165 -uroot -p123456 ERROR 2003 (HY000): Can't c

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.56.105' (113)

[[email protected] ~]# mysql -uroot -h192.168.56.105 -p Enter password: ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.56.105' (113) 问题的分析 出现上述问题,可能有以下几种可能 1. my.cnf 配置文件中 skip-networking 被配置 skip-networking 这个参数,导致所有TCP/IP端口没有被监听,也就是说

linux mysql添加、删除用户、用户权限及mysql最大字段数量

1.  登录: mysql -u username -p 显示全部的数据库: show databases; 使用某一个数据库: use databasename; 显示一个数据库的全部表: show tables; 退出: quit; 删除数据库和数据表 mysql>drop database 数据库名; mysql>drop table 数据表名; 用户相关: 查看全部的用户: SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';

MySql 用户管理 中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 如果报错解决方法:https://i.c

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 这样就创建了一个名为:test 密码为:

Ansible 从MySQL数据库添加或删除用户

mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) MySQLdb的 选项 参数 需要 默认 选择 注释 append_privs (1.4 加入) no no yes no 将priv定义的权限附加到此用户的现有权限,而不是覆盖现有的权限. check_implicit_admin (1.3 加入) no no yes yes 检查mysql是否允许以

mysql新建用户,授权,删除用户,修改密码

首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的. 注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.     用户:phplamp  用户数据库:phplampDB 1.新建用户. //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Password) values("localhost","

mysql、添加和删除用户、添加权限

创建用户 mysql>insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 添加了一个username为test.password为1234用户.但该用户仅仅能在本地登陆,若想远程登陆的话可将localhost改为%表示不论什么一台电脑都能够登陆.或改为特定的ip表示仅仅能在特定的ip地址上登陆. 为用户加入权限 mys

MySQL新建用户,授权,删除用户,修改密码操作

注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.用户:phplamp 用户数据库:phplampDB 1.新建用户. //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));//刷新系统权限表mysql&