Linux 中 mysql-8.0.32 数据库的安装
缘
再写一个,写完就睡。
步骤
直接上代码了!
首先,下载mysql-8.0.32,(我提供了两个下载地址,一个是tar.gz,一个是tar.xz):
mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz
下载地址:https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz
mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
也可自己去官网下载,地址:https://downloads.mysql.com/archives/community/
前面的创建用户顺序和之前写过的一样,如果忘了再去复习一边,链接:https://blog.csdn.net/u011561335/article/details/102813290
如果不想去,下面就简单说下
首先是创建用户和组:
groupadd mysqluseradd -r -g mysql mysql
操作配置文件:
#创建配置文件vim /etc/my.cnf#如果存在,可能是卸载那篇文章忘了写了,备份或者删除都行,看自己需要。
保存以下内容:
[mysqld]bind-address=0.0.0.0port=3306user=mysqlbasedir=/usr/local/mysqldatadir=/usr/local/mysql/datasocket=/tmp/mysql.socklog-error=/usr/local/mysql/data/mysql.errpid-file=/usr/local/mysql/data/mysql.pid#character configcharacter_set_server=utf8mb4symbolic-links=0explicit_defaults_for_timestamp=true
创建pid文件,命令:
echo > /usr/local/mysql/data/mysql.pid;
接着解压归档文件,命令:
#方案一:解压tar.gz归档文件tar -zxvf mysql-8.0.32-linux-glibc2.17-aarch64.tar.gz #方案二:解压tar.xz归档文件tar xvf /path/to/mysql-VERSION-OS.tar.xz#移动至安装目录(执行自己的解压文件至指定目录,下面两条命令选与自己一致的版本。)#算了,我同意用tar.xz解压出来的文件,tar.gz的好像有问题。自行探索吧。#mv mysql-8.0.32-linux-glibc2.17-aarch64 /usr/local/mysql mv mysql-8.0.32-linux-glibc2.12-x86_64 /usr/local/mysql
切换目录
cd /usr/local/mysql
创建data目录并授权
mkdir datachown mysql:mysql datachmod 750 data
执行初始化命令
bin/mysqld --initialize --user=mysql
待执行完毕后,执行命令查看密码
cat /usr/local/mysql/data/mysql.err |grep localhost2023-06-07T17:22:59.977793Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 0Hhbr0/s-k9r
具体执行过程如下图:
继续执行命令支持ssl安全连接(查的相关资料)
bin/mysql_ssl_rsa_setup
安全启动mysql(查的相关资料)
bin/mysqld_safe --user=mysql &
验证mysql是否启动成功:
lsof -i :3306COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmysqld 195521 mysql 23u IPv4 1396172 0t0 TCP *:mysql (LISTEN)
启动完毕,截图如下
将mysql执行文件添加至环境变量
(这个就没有写到解决方案里面了,因为肯定会存在-bash: mysql: command not found
这种问题,比着弄就行)。
#临时添加export PATH=$PATH:/usr/local/mysql/bin
永久添加到环境变量需要编辑环境变量的配置文件/etc/profile
,添加以下代码:
MYSQL=/usr/local/mysql/binexport PATH=$PATH:$MYSQL
截图如下:
最后,重新加载配置,命令:
source /etc/profile
通过命令进入数据库:
[root@ip-172-31-26-110 ~]# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 8Server version: 8.0.32Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
截图如下:
然后是修改密码,命令:
ALTER USER USER() IDENTIFIED BY '123456';
如果服务器重启了,手动启动命令:
./mysql.server start
配置开机启动,命令:
cd /usr/local/mysqlcp support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqldsystemctl enable mysqld
至此,安装完毕!
常见问题解决方案
问题一. mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
在使用mysql进行数据库连接时报错,具体内容是缺少依赖,使用命令查看缺少哪些依赖
ldd /usr/local/mysql/bin/mysql
截图过下,通过返回内容,可以看到缺少依赖libtinfo.so.5
,当然,从报错内容中也能看出来。
解决方案:
方案一(推荐):
搜索服务器上已有的依赖,通过链接方式对应,命令:
ln -s /usr/lib64/libtinfo.so.6.2 /usr/lib64/libtinfo.so.5
方案二:
从其他服务器下载此文件上传至服务器,提供了一个我自己的csdn链接(5积分),包含了5和6两个版本:https://download.csdn.net/download/u011561335/87885150
下载后,执行命令:
#先切换到文件所在目录cd 下载文件所在目录unzip libtinfo.so(包含5和6两个).zipcd 解压文件夹 mv libtinfo.so.5 /usr/lib64
方案三:
从网上下载安装包后安装(本机测试时候发现又要安装别的依赖,放弃了,有兴趣的试一下,不能用的话告诉我一声),
下载地址:添加链接描述
安装命令:
rpm -ivh ncurses-libs-5.9-14.20130511.el7_4.aarch64.rpm
另外,感谢轻声低语
的博文,参考链接:https://blog.csdn.net/weixin_54795972/article/details/129130438
今天就写到这,当前时间:2023-06-08 02:09
搜到了另一个tar.gz 归档文件的博文,感觉还不错,我就不写tar.gz了,直接放链接:https://blog.csdn.net/god_sword_/article/details/124649761
蜚语:高考期间,考生加油!回首今日,你也可以骄傲:我为自己拼过命,我曾努力奔跑任狂风呼啸!
当前时间:2023-06-09 12:09
问题二:Starting MySQL… ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).
问题描述:
[root@ip-172-31-26-110 iceter]# systemctl status mysqld.service× mysqld.service - LSB: start and stop MySQL Loaded: loaded (/etc/rc.d/init.d/mysqld; generated) Active: failed (Result: exit-code) since Fri 2023-06-09 08:02:48 UTC; 11s ago Duration: 1min 49.460s Docs: man:systemd-sysv-generator(8) Process: 4749 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE) CPU: 796msJun 09 08:02:46 ip-172-31-26-110.ec2.internal systemd[1]: Starting LSB: start and stop MySQL...Jun 09 08:02:48 ip-172-31-26-110.ec2.internal mysqld[4749]: Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).Jun 09 08:02:48 ip-172-31-26-110.ec2.internal systemd[1]: mysqld.service: Control process exited, code=exited, status=1/FAILUREJun 09 08:02:48 ip-172-31-26-110.ec2.internal systemd[1]: mysqld.service: Failed with result 'exit-code'.Jun 09 08:02:48 ip-172-31-26-110.ec2.internal systemd[1]: Failed to start LSB: start and stop MySQL.
此问题是由于没有成功创建pid文件导致,命令创建:
vim /usr/local/mysql/data/mysql.pid;#或echo > /usr/local/mysql/data/mysql.pid;
来源地址:https://blog.csdn.net/u011561335/article/details/131098976