前言
我是初次尝试在服务器上安装mysql,遇到的问题记录和总结,希望可以给遇到同样问题的人提示,如果不能解决你的问题,继续加油,一定能够找到解决办法的,度娘牛逼
这里会展示借鉴的博客,感谢你们的分享,帮助我解决了问题
最终解决我问题的博客
安装软件到服务器我借鉴的博客
下载mysql安装包到服务器
下载路径:https://dev.mysql.com/downloads/mysql/
我一开始按照流程去下载的是8.0.25算是当前这个时间端最新的版本,但是出现了很多的问题我最终改为5.7.34
出现的问题:
root@iZwz9eytry3trsn5w5dfmvZ mysql]# rpm -ivh mysql-community-libs-8.0.25-1.el8.x86_64.rpm
警告:mysql-community-libs-8.0.25-1.el8.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
libc.so.6(GLIBC_2.28)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libcrypto.so.1.1()(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libcrypto.so.1.1(OPENSSL_1_1_1)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libssl.so.1.1()(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libssl.so.1.1(OPENSSL_1_1_0)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libssl.so.1.1(OPENSSL_1_1_1)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libstdc++.so.6(CXXABI_1.3.9)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libstdc++.so.6(GLIBCXX_3.4.20)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
libstdc++.so.6(GLIBCXX_3.4.21)(64bit) 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
mysql-community-client-plugins = 8.0.25-1.el8 被 mysql-community-libs-8.0.25-1.el8.x86_64 需要
我去下载这个安装包,我是找到了下载路径和以及下载下来了,但是不会安装,而且安装最新的版本会出现太多的问题,现在网上是没有教程帮助解决问题的。我唯一找到有关解决这个问题博客,可以借鉴,反正我是没有操作,感觉有点太简单了
下载这个安装包GLIBC_2.28或者更高版本的压缩包可以去这里 路径 如果你确定还是要安装mysql8.0,就可能无法绕过这个问题,可以借鉴的文章
博客一
博客二
然后我就抛弃了8.0.25,投入了5.7.34的怀抱,不要说我没有探索精神啊,我关注的是我现在服务器上有一个可以用的mysql,如果时间充足,那到时候另说吧。
安装5.7.34的路径 8.0.25如果你可以解决开始安装的依赖问题,应该后面的路径是一致的
下载安装包
从最上面的的图点击download,后进入这个页面
cd /home/admin/mysoftware 下载的安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
wget的使用详解也贴一下
将压缩文件解压到opt
mkdir -p /opt/module/mysql 递归建文件夹
[root@iZwz9eytry3trsn5w5dfmvZ myselfFile]# tar -xvf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar -C /opt/module/mysql
mysql-community-client-5.7.34-1.el7.x86_64.rpm
mysql-community-common-5.7.34-1.el7.x86_64.rpm
mysql-community-devel-5.7.34-1.el7.x86_64.rpm
mysql-community-embedded-5.7.34-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.34-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.34-1.el7.x86_64.rpm
mysql-community-libs-5.7.34-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.34-1.el7.x86_64.rpm
mysql-community-server-5.7.34-1.el7.x86_64.rpm
mysql-community-test-5.7.34-1.el7.x86_64.rpm
切换到这个目录下安装这些包
这里可以借鉴文章去检测当前系统中是否存在对应的mysql和mariadb的包
我是安装成功了 为什么要检测mariadb
如果版本和你本次下载和安装的不一致,删除啊,yum啊,没有–>装
[root@iZwz9eytry3trsn5w5dfmvZ myselfFile]# rpm -qa | grep mysql
mysql-community-libs-5.7.34-1.el7.x86_64
mysql-community-common-5.7.34-1.el7.x86_64
mysql-community-server-5.7.34-1.el7.x86_64
mysql-community-client-5.7.34-1.el7.x86_64
mysql-community-libs-compat-5.7.34-1.el7.x86_64
[root@iZwz9eytry3trsn5w5dfmvZ myselfFile]# rpm -qa | grep mariadb
[root@iZwz9eytry3trsn5w5dfmvZ myselfFile]#
yum的使用,我觉得应该经常用到的命令
yum list installed 展示已经安装的软件或者插件 然后人家会按字母排好序,找就行,如果要指定文件的话
yum list installed | grep mysql
yum list 查看可以安装的软件包,建议grep一下,不然会刷屏,或者指定一下名字 不知道为什么有些是查不到的,不要在意这些细节
yum install 软件名称的全称 安装
yum remove 软件的全称 卸载安装包
yum deplist tomcat 安装包的依赖 应该有用吧
更新安装包
yum update 更新所有
yum update tomcat 更新指定的安装包
yum check-update 检查是否存在需要更新的安装包
这些都弄好了 你是否有以下的结果了,那我继续往下了啊
数目不对不要紧;只要你不缺少这次安装的包应该没问题吧
install the mysql-community-server, mysql-community-client, mysql-community-libs, mysql-community-common, and mysql-community-libs-compat packages to get a functional
[root@iZwz9eytry3trsn5w5dfmvZ myselfFile]# ll /opt/module/mysql/
总用量 531116
-rw-r--r-- 1 7155 31415 26597364 3月 27 00:49 mysql-community-client-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 317444 3月 27 00:49 mysql-community-common-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 4119104 3月 27 00:49 mysql-community-devel-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 47479092 3月 27 00:49 mysql-community-embedded-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 23264364 3月 27 00:49 mysql-community-embedded-compat-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 131605536 3月 27 00:49 mysql-community-embedded-devel-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 2472844 3月 27 00:49 mysql-community-libs-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 1262704 3月 27 00:49 mysql-community-libs-compat-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 181833876 3月 27 00:50 mysql-community-server-5.7.34-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 124888148 3月 27 00:50 mysql-community-test-5.7.34-1.el7.x86_64.rpm
运行下面的命令安装 顺序调换一下问题应该不大
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --force --nodeps
到了这一步,你是不是以为就好了,错,到最后的成功,我还纠结了一个小时
systemctl start mysqld 开启mysql 为什么多了一个d,我也不知道
systemctl restart mysqld 重启mysql
[root@iZwz9eytry3trsn5w5dfmvZ mysql]# systemctl start mysqld.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@iZwz9eytry3trsn5w5dfmvZ mysql]# systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: deactivating (final-sigterm) (Result: exit-code)
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 19471 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
Process: 19448 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
CGroup: /system.slice/mysqld.service
└─19474 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
6月 24 17:59:25 iZwz9eytry3trsn5w5dfmvZ systemd[1]: mysqld.service holdoff time over, scheduling restart.
6月 24 17:59:25 iZwz9eytry3trsn5w5dfmvZ systemd[1]: Stopped MySQL Server.
6月 24 17:59:25 iZwz9eytry3trsn5w5dfmvZ systemd[1]: Starting MySQL Server...
6月 24 17:59:25 iZwz9eytry3trsn5w5dfmvZ mysqld_pre_systemd[19448]: 2021-06-24T09:59:25.433799Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is ...ails).
6月 24 17:59:25 iZwz9eytry3trsn5w5dfmvZ mysqld_pre_systemd[19448]: 2021-06-24T09:59:25.435299Z 0 [ERROR] --initialize specified but the data directo...rting.
6月 24 17:59:25 iZwz9eytry3trsn5w5dfmvZ mysqld_pre_systemd[19448]: 2021-06-24T09:59:25.435330Z 0 [ERROR] Aborting
6月 24 17:59:25 iZwz9eytry3trsn5w5dfmvZ systemd[1]: mysqld.service: control process exited, code=exited status=1
重点
grep 'password' /var/log/mysqld.log
这一步是没有找到密码的,都是这些
2021-06-24T10:06:36.924953Z 0 [Note] Shutting down plugin 'sha256_password'
2021-06-24T10:06:36.924956Z 0 [Note] Shutting down plugin 'mysql_native_password'
缺少了最后一个
2021-06-24T10:06:38.545271Z 1 [Note] A temporary password is generated for root@localhost: hRhSh>kod6la
我拿不到 hRhSh>kod6la 临时密码,自然就登录不进去啊
mysql -uroot -p
服务起起来,但是我登录不了,也没法获取临时密码,挺难的–>记住这个
解决办法
[root@iZwz9eytry3trsn5w5dfmvZ mysql]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql ###看这里 看这里 <---- /data 加后面
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
vim命令看菜鸟啊
不会也不教
最后我终于找到了我的临时密码,我进去了 -->不是终结哦
进去之后是不是什么命令都用不了啊,而且一直提示你,修改密码呢
show databases;
提示
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
结束 --> alter user user() identified by “password tihuan”;
整篇文章记流水账似的,这是根据我的记忆操作一遍下来的,希望可以帮到你,帮不到,别问我,问度娘,如果度娘都找不到,我也无能为力,就看你怎么变通了。暂时就这样吧,我继续我的摸索之旅了。