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[端口]

你可能感兴趣的:(MySql的2种连接方式)