mysql装到centos7上遇到的坑(下载慢,No such file or directory,ERROR 2002 (HY000),临时密码过期)

今天打算学个mysql的高级,结果安装mysql花了一下午。。。

遇到的坑:

一 、下载的速度超级慢

解决办法:

找百度云别人下好的包(mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz),例如:

https://pan.baidu.com/s/1Tit3J-0pJfVCdzfKJxTc4w  提取码是:t049

二、service mysqld start提示

Redirecting to /bin/systemctl start  mysqld.service
Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.

这个折磨我了好久

解决办法:

把mysql的进程杀完之后

[[email protected] mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
[[email protected] mysql]# chmod +x /etc/rc.d/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig --list mysqld

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
      如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
      欲查看对特定 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

mysqld          0:关    1:关    2:开    3:开    4:开    5:开    6:关

然后再运行服务启动命令就可以了
[[email protected] mysql]# service mysqld start
Starting MySQL.... SUCCESS!

原本以为这就结束了,结果更坑爹的还在后面

三、登录的时候报ERROR 2002 (HY000):...'/var/lib/mysql/mysql.sock' (2)

[[email protected] mysql]# mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决办法:

1)、查找 mysql.sock所在位置:

[[email protected] mysql]# find / -name '*.sock'
/tmp/mysql.sock

2)、在报错的位置创建对应的文件

mkdir /var/lib/mysql/

注意不要创建mysql.sock这个文件,创建后面还是会报错

3)、把这两个文件链接起来

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

然后就可以准备登录了!!!!好开心

 

你以为这就结束了,还有大坑,西八

四、临时密码过期

我们在初始化mysql的时候会产生一个临时密码


[[email protected] mysql]#  /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/lo                                             cal/mysql/data/
2020-04-03T10:49:28.944664Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults                                             _for_timestamp server option (see documentation for more details).
2020-04-03T10:49:31.571656Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-04-03T10:49:32.172069Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-04-03T10:49:32.424888Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this                                              server has been started. Generating a new UUID: cd129a4b-7598-11ea-9d0c-00155dbcc30a.
2020-04-03T10:49:32.494296Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-04-03T10:49:32.495708Z 1 [Note] A temporary password is generated for [email protected]: 72pq+!sGbUpu

这个临时密码72pq+!sGbUpu不知道什么原因失效了

[[email protected] mysql]# mysql -uroot -p
Enter password:
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

解决办法:

1)、跳过权限

打开/etc/my.cnf 文件:

在[mysqld]标签下面加一行这个  

skip-grant-tables

2)、重启服务,一定要重启服务

service mysqld restart

3)、此时数据库不需要密码就可以登录

mysql装到centos7上遇到的坑(下载慢,No such file or directory,ERROR 2002 (HY000),临时密码过期)

3)、用第三方工具登录数据库,

mysql装到centos7上遇到的坑(下载慢,No such file or directory,ERROR 2002 (HY000),临时密码过期)

把密码过期限制去掉

mysql装到centos7上遇到的坑(下载慢,No such file or directory,ERROR 2002 (HY000),临时密码过期)

4)、回去吧数据库跳过密码设置去掉

打开/etc/my.cnf 文件:

在[mysqld]标签下面注释掉  

#skip-grant-tables

重启

 

最后,修改密码就可以登录了~~~~~

TNND, 感觉踩过了所有的坑,不过最后成功了,还是蛮开心的,接着学习mysql高级吧。