错误信息:mysql - u root - p 无法登入,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' (13)

解决方案:查到的其他解决方案大多是说要配置socket=/data/mysql/mysql.sock,配置还是报这个错误,经检查如果是用户没启动mysql脚本权限也会遇到这个问题,使用root账号或者sudo mysql -u root -p 可解决。

附:安装步骤明细

解压安装包
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
创建MySQL用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限。
mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限
vi /etc/myf
[mysqld]
bind-address=0.0.0.0 
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
[client]
socket=/data/mysql/mysql.sock
初始化数据库
进入MySQL的bin目录
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/myf --basedir=/opt/module/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码。
cat /data/mysql/mysql.err
HqRs!Hcwj5lj
启动MySQL服务
先将mysql.server放置到/etc/init.d/mysql中。
cp /opt/module/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
 
ps -ef|grep mysql
修改密码
首先登陆MySQL,前面的那个是随机生成的。

./mysql -u root -p   #bin目录下
在执行下面三步操作,然后重新登陆。

SET PASSWORD = PASSWORD('666666');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
远程连接
这个时候如果使用远程连接,你会发现无法连接。
use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;                                    #刷新
到这里,MySQL5.7应该说已经装好了。

更多推荐

linux 下MySQL本地安装mysql - u root - p 无法登入