白日梦的MySQL专题(第33篇):各种登陆MySQL的骚操作

我们想登陆到mysql中前提是肯定需要一个用户名和密码:比如

mysql -uroot -proot

在mysql中用户的信息会存放在 mysql数据库下的 user表中
可以像下面这样查看到所有用户信息

mysql> use mysql Database changed mysql> select * from user\G *************************** 1. row *************************** Host: localhost User: root Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Reload_priv: Y Shutdown_priv: Y Process_priv: Y File_priv: Y Grant_priv: Y References_priv: Y Index_priv: Y Alter_priv: Y Show_db_priv: Y Super_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Execute_priv: Y Repl_slave_priv: Y Repl_client_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Create_user_priv: Y Event_priv: Y Trigger_priv: Y Create_tablespace_priv: Y 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: *C85A9826269E1AD748DFC3CEC32D040735B27207 password_expired: N password_last_changed: 2019-11-07 14:39:30 password_lifetime: NULL account_locked: N *************************** 2. row *************************** Host: localhost User: mysql.session Select_priv: N

其中有一列叫做HOST,HOST的不同值决定了用户拥有不同的登陆方式:比如:

标识符 含义
%   任意ip均等登陆  
localhost   只允许本地登陆  
127.0.0.1   只允许本地登陆  
sv1   主机名为sv1的机器可登录,主机名可以在 /etc/hostname中查看  
::1   本机可登录  

所以在登陆前,请确定你的使用的登陆用户的HOST列中有相应的配置

骚气的登陆

在mac上登陆华为云的服务器

MacBook-Pro% ssh \'root\'@\'139.9.92.123\' root@139.9.92.123\'s password: Last failed login: Fri May 29 11:03:42 CST 2020 from 202.85.208.14 on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Thu May 28 16:36:32 2020 from 202.85.208.7 Welcome to Huawei Cloud Service -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory [root@139 ~]#

在mac上远程登陆服务器上的mysql

MacBook-Pro% ./mysql -h139.9.92.123 -uroot -reqw123.. -P3306 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2174 Server version: 5.7.29 MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type \'help;\' or \'\h\' for help. Type \'\c\' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema |

mac登陆本地的mysql

如果你有配置环境变量,或者你的mysql的可执行文件在/etc/bin中,那你可以在任何目录中使用mysql命令

你可以直接像下面这样登陆:

MacBook-Pro% mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.30 MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type \'help;\' or \'\h\' for help. Type \'\c\' to clear the current input statement. mysql>

如果你没有配置环境变量,系统就不能直接识别mysql命令,需要你进入到mysql安装目录下的bin文件下,找到mysql命令,然后执行登陆的动作

MacBook-Pro% /usr/local/mysql/bin/mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.30 MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type \'help;\' or \'\h\' for help. Type \'\c\' to clear the current input statement. mysql>

也可以用远程登陆的方式登陆本地mysql

MacBook-Pro% mysql -h127.0.0.1 -uroot -proot -P3306 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.30 MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type \'help;\' or \'\h\' for help. Type \'\c\' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | assignment | | cal |

本地登陆

我们可以借助mysql.sock实现本地登陆。

那这个mysql.sock是什么?

看起来我们需要了解一下mysql.sock的作用,因为通过它我们可以实现mysql的本地登陆。

mysql.sock应该是mysql的主机和客户机在同一host(物理服务器)上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快。

通过命令可以查看到mysql.sock的位置。

MacBook-Pro% netstat -ln | grep mysql 64e3f4c55eb824d7 stream 0 0 64e3f4c5614859a7 0 0 0 /tmp/mysql.sock

记下这个 mysql.sock的地址。接下来我们会创建一个配置文件,你找个看着比较顺眼的目录放置这个配置文件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdxsj.html