翼度科技»论坛 编程开发 mysql 查看内容

Mysql命令行连接远程/本地数据库详解

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
Mysql 命令行 连接本地数据库

MySQL登录

  • mysql -uroot -p密码
  • mysql -hip -uroot -p连接目标的密码
  • mysql --host=ip --user=root --password=连接目标的密码
  1. C:\Users\Administrator>mysql -h 127.0.0.1 -uroot --port=3306 -p                                                                                                      
  2. Enter password: *****
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.
  4. Your MySQL connection id is 6
  5. Server version: 5.6.17 MySQL Community Server (GPL)      
  6. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.  
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. mysql> exit
  12. Bye
  13. C:\Users\Administrator>mysql -h 127.0.0.1 -uroot --port=3308 -p                                                                                                      
  14. Enter password: *****
  15. Welcome to the MySQL monitor.  Commands end with ; or \g.
  16. Your MySQL connection id is 11
  17. Server version: 5.5.61 MySQL Community Server (GPL)
  18. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.  
  19. Oracle is a registered trademark of Oracle Corporation and/or its
  20. affiliates. Other names may be trademarks of their respective
  21. owners.
  22. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  23. mysql> exit
  24. Bye
  25. C:\Users\Administrator>mysql -h 127.0.0.1 -uroot --port=3307 -p                                                                                                      
  26. Enter password: *****
  27. Welcome to the MySQL monitor.  Commands end with ; or \g.
  28. Your MySQL connection id is 16
  29. Server version: 8.0.13 MySQL Community Server - GPL
  30. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  31. Oracle is a registered trademark of Oracle Corporation and/or its
  32. affiliates. Other names may be trademarks of their respective
  33. owners.
  34. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  35. mysql> exit
  36. Bye
复制代码
Mysql 命令行 连接远程数据库

连接 远程的数据库
mysql --host=ip --user=root --password=连接目标的密码
  1. ┌──(root㉿kali)-[~]
  2. └─# mysql -h 69.45.123.1 -uroot --port=3307 -p
  3. Enter password:
  4. ERROR 1130 (HY000): Host '69.45.123.128' is not allowed to connect to this MySQL server
复制代码
有两个方法
如果 你的 mysql 数据库没有 密码 最好创建一个一密码
  1. update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';
  2. update mysql.user set authentication_string=password('admin') where user='用户名' and Host ='localhost';
复制代码
1.改表法
是因为 root 帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改为"%"
  1. C:\Users\Administrator>mysql -uroot -p -P3306
  2. Enter password: *****
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.
  4. Your MySQL connection id is 2
  5. Server version: 5.6.17 MySQL Community Server (GPL)
  6. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. mysql> use mysql; # 使用数据库
  12. Database changed
  13. mysql> select user,password,host from user where user='root'; # 先查询下 有权限的 用户 的 host 是什么
  14. +------+-------------------------------------------+-----------+
  15. | user | password                                  | host      |
  16. +------+-------------------------------------------+-----------+
  17. | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 | localhost |
  18. | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 | 127.0.0.1 |
  19. | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 | ::1       |
  20. +------+-------------------------------------------+-----------+
  21. 3 rows in set (0.00 sec)
  22. # 修改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改为"%"
  23. mysql> update user set host = '%' where user = 'root' and host='localhost';
  24. Query OK, 0 rows affected (0.00 sec)
  25. Rows matched: 0  Changed: 0  Warnings: 0
  26. mysql> flush privileges; # 刷新一下 mysql的缓存
  27. Query OK, 0 rows affected (0.00 sec)
复制代码
执行操作之后 重启服务器
如果有需要 改回来 在使用 数据库之后 把 “mysql” 数据库里的 “user” 表里的 “host” 项 从"%“改为"localhost” 之后刷新一下缓存之后 重启 mysql 服务 即可
  1. mysql> use mysql; # 使用数据库
  2. Database changed
  3. mysql> update user set host = 'localhost' where user = 'root' and host='%';
  4. Query OK, 0 rows affected (0.00 sec)
  5. Rows matched: 0  Changed: 0  Warnings: 0
  6. mysql> flush privileges; # 刷新一下 mysql的缓存
  7. Query OK, 0 rows affected (0.00 sec)
复制代码
2. 授权法。例如,你想 某个用户名 比如 myuser 和对应的密码 从任何主机连接到mysql服务器的话。
  1. /*myuser mypassword 为对应的 用户迷宫和密码 */
  2. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
复制代码
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
  1. /*例如 */
  2. GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
  3. GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY '1235' WITH GRANT OPTION;
复制代码
  1. mysql> flush privileges; # 刷新一下 mysql的缓存
  2. Query OK, 0 rows affected (0.00 sec)
复制代码
取消授权
  1. # 查看授权的所有用户mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;  +---------------------------+| query                     |+---------------------------+| User: 'root'@'127.0.0.1'; || User: 'root'@'::1';       || User: ''@'localhost';     || User: 'root'@'localhost'; |+---------------------------+4 rows in set (0.00 sec)# revoke all on *.* from 'username'@'%';  username为指定的用户,%为任意登录的地址。mysql> revoke all on *.* from 'root'@'192.168.1.3';     Query OK, 0 rows affected (0.00 sec)# 然后再次 mysql> flush privileges; # 刷新一下 mysql的缓存
  2. Query OK, 0 rows affected (0.00 sec)
复制代码
然后 重启 mysql 服务

总结

到此这篇关于Mysql命令行连接远程/本地数据库的文章就介绍到这了,更多相关Mysql命令行连接数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/article/283294.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具