unix系统上,mysql的登陆方式有两种,分别是socket和tcp/ip方式登陆。
当server和client在同一台服务器上的时候,我们可以直接用mysql命令登陆。
当什么参数都没有指定的时候,mysql默认使用socket方式登陆,如果my.cnf的[client]没有指定socket文件路径时,mysql默认会去寻找/tmp/mysql.sock,所以如果mysql服务启动的时候,生成的socket文件不是默认路径的话,登陆会报错。
mysql -uroot -S/tmp/mysql.sock
mysql服务启动的时候,socket文件的生成目录可以在[mysqld]上指定,如果没有指定,默认是/tmp/mysql.sock;
mysql登陆的时候,指定参数-h,会使用tcp/ip的方式连接,如果没有指定端口的话,默认是使用3306端口。
当mysql登陆时,同时指定-h和-S,mysql会默认使用tcp/ip的方式连接。