MySql的2种连接方式

本地socket连接

mysql -u[用户名]  -p[密码] -S[指定sock文件]

查看my.cnf

[root@nfs01 ~]# cat /etc/my.cnf

[mysqld]

user = mysql

basedir = /app/mysql

datadir = /data-mysql

port = 3306

server_id = 3

socket = /tmp/mysql.sock     #服务端启动产生的sock

[mysql]

socket = /tmp/mysql.sock     #客户端连接服务器指定的sock

对于socket注意点

当[mysqld]服务端字段和[mysql]客户端字段都不配置socket关键字时,mysql启动默认在tmp目录创建sock文件,并且mysql不需要加-S参数指定sock,默认会自动去tmp目录下读取sock文件。

当把my.cnf中[mysqld]服务端字段的socket参数修改成如下

[mysqld]

user = mysql

basedir = /app/mysql

datadir = /data-mysql

port = 3306

server_id = 3

socket = /tmp/mmmm.sock

启动数据库查看sock文件

[root@nfs01 ~]# ls /tmp/*.sock

/tmp/mmmm.sock

默认连接数据库会报如下错误

[root@nfs01 ~]# mysql -uroot -p1

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方式1

指定sock文件之后成功进入数据库

[root@nfs01 ~]# mysql -uroot -p1 -S /tmp/mmmm.sock

解决方式2

在my.cnf文件中的[mysql]字段添加和[mysqld]一样的socket参数

远程连接

mysql -u[用户名]  -p[密码] -h[mysql服务端ip地址] -P[端口]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容