因为平时安装mysql 总会遇到各种各样的问题 , 要么在线安装下载速度极其慢,要么安装的时候遇到一些依赖问题, 解决了这个又出现那个问题 , 所以,这次总结出来一个比较靠谱的方法以后参考
1.下载安装包
点击 Mysql下载 在官方网站上下载
这里我用的是linux 是centos7 mysql 版本是 5.7 所以 按照下图下载即可
下载这个
点击download 之后 , 直接点击红色箭头处即可
如果在浏览器上下载的慢的话 可以在迅雷上下载
2.开始安装
-
这里我在 opt 目录下创建一个mysql目录 用于存放mysql的安装包
=>mkdir /opt/Mysql/
-
然后将mysql上传到 Mysql目录并解压
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
即可
解压后的结果如图
上面是mysql所有的依赖包和 服务端客户端 -
使用命令
yum localinstall *.rpm
可以批量安装所有的rpm包
如图 : 我们只要下载很小的依赖包就可以了 , 输入y
等待安装完成即可 -
然后输入
systemctl start mysqld
开启mysql服务即可
3.错误处理
1.安装好之后 输入命令 systemctl start mysqld 启动失败报错
Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xe" for details.
- 这个问题 : 我解决之后发现可能是我重复开启 mysqld 服务 ???
讲一下我的解决思路 : 看运行日志 !!
vim /var/log/mysqld.log
即可查看mysqld 的启动日志
注意ERROR 部分 很明显提示的是 3306 已经有另外一个 mysqld 服务在启动 ??
这里猜测可能是我之前卸载的时候没有把mysql服务关闭 … ???
然后我 查看3306端口 netstat -anp | grep 3306
如图 : 果然 , 3306端口在运行 然后我使用 kill -9 40381
关闭了3306端口进程
然后重新启动 systemctl start mysqld
成功 !
目前只遇到了这一个问题 …以后有问题再更新
更新 :
- 安装完成之后需要查询默认密码, 使用
grep 'temporary password' /var/log/mysqld.log
查看默认密码 然后没有mysqld.log 文件或者手贱把它删了(比如我) 如果你忘了root 密码也可以使用这个方法
解决方法 :
1、修改/etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
2、重启mysqld 服务:systemctl restart mysqld
3、使用 root 用户登录到 mysql:mysql -uroot -p
(默认密码是空)
4、切换到mysql数据库,更新 user 表:
update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';
在之前的版本中,密码字段的字段名是 password
,5.7版本改为了 authentication_string
5、退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1的内容
6、重启mysqld 服务,再用新密码登录即可