所用云服务器系统为阿里linux3
第一步下载mysql压缩包
mysql下载地址:https://dev.mysql.com/downloads/mysql/
红色框选项可以选择以往所有的版本,这里用的是8.2.0版本
第二步安装mysql异步依赖库libaio
yum install libaio
阿里云linux3已经有了如图执行命令效果,使用其他版本系统的,没有的可以进行执行安装
第三步将压缩包上传至云服务器指定位置,可以使用Xftp加免费的Xshell,也可以使用免费的mobile-X,或是finalshel皆可以实现文件上传服务器。
在/usr/local目录下新建mysql目录,并将压缩包上传到该目录下
mkdir mysql
第四步解压缩并重命名
解压缩命令需要根据自己的mysql压缩包版本名称进行调整,修改名称亦然。
tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz
mv mysql-8.2.0-linux-glibc2.28-x86_64 mysql-8.2.0
第五步在解压并重命名的目录下新建目录文件,用以后续配置使用
mkdir data
mkdir tmp
第六步创建用户组、用户、密码以及对用户权限授权
groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql/mysql-8.2.0
第七步编辑配置文件
vim /etc/my.cnf
添加以下配置
[mysqld]
basedir = /usr/local/mysql/mysql-8.2.0
datadir = /usr/local/mysql/mysql-8.2.0/data
port = 3306
socket = /usr/local/mysql/mysql-8.2.0/tmp/mysql.sock
#必填项
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
socket = /usr/local/mysql/mysql-8.2.0/tmp/mysql.sock
注意其中涉及到地址的地方一定要根据自己的目录地址去填写。
第八步配置文件初始化
在自己安装解压之后的mysql目录下 cd bin
./mysqld --initialize --user=mysql 初始化mysql
最开始用的是8.0.40版本,然后这里初始化的时候报错了,报的是OPenSSL下一个依赖包不存在
mysqld: error while loading shared libraries: libcrypto.so.3: cannot open shared object file: No such file or directory
问题解决(1)先检查是否安装OpenSSL,没有安装安装一下。
(2)如果已经安装,则看下 libcrypto.so.3这个依赖是否存在,如果存在则可能需要进行对该文件进行指向。
我这里是OpenSSL安装了,但是没有 libcrypto.so.3这个依赖,所以进行更新软件包,并重新安装OpenSSL进行尝试。
阿里linux3 使用以下命令查看 libcrypto.so.3是否存在
ldconfig -p | grep libcrypto.so.3
更新软件包
sudo yum update
重新安装OpenSSL
sudo yum reinstall openssl
更新软件包,并且重新安装了OpenSSL之后发现 libcrypto.so.3这个依赖还是没有
查看 libcrypto.so.3位置
whereis libcrypto.so.3
根据位置进去看了一下,libcrypto.so的一些其他版本是有的,但是没有libcrypto.so.3这个版本。
然后我的OpenSSl版本为1.1.1.k,而 libcrypto.so.3这个依赖似乎只有OpenSSl3.0版本才有,按照网上的解决方案,要么更新升级OpenSSl的版本,但是更新到3之后1.0的libcrypto.so依赖库可能会有问题,会影响使用这个依赖库的其他服务,只好放弃。
要么进行源码OpenSSl编译,进行手动软连接指定 libcrypto.so.3。
最终还是没有采用,而是进行了8.0.40mysql的删除,转为用更高的版本8.2.0。
此版本初始化配置时再无这个问题。
初始化之后,会生成一个临时密码,需要进行记录,以便后续使用
第九步添加mysqld服务到系统
```c在这里插入代码片
cd support-files
进入该目录下
```c
查询刚刚解压包中mysql.server文件的位置:
find / -name mysql.server
将其复制到etc的目录下
cp /usr/local/mysql/mysql-8.2.0/support-files/mysql.server /etc/init.d/mysql.server
注意替换自己查询出的mysql.server的地址
为文件进行服务授权
chmod +x /etc/init.d/mysql.server
chkconfig --add mysql.server
查看是否添加成功
chkconfig --list
将mysql命令添加到服务
ln -sf /usr/local/mysql/mysql-8.2.0/bin/mysql /usr/bin
注意自己目录地址,要替换成自己安装的地址。
第十步 启动mysql
service mysql.server start
查看mysql启动状态
service mysql.server status
第十一步 登录msyql
mysql -uroot -p
密码是刚刚生成的随机密码
修改root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
flush privileges;
切换到mysql数据库进行远程权限连接设置
use mysql;
select host,user,plugin from user; 见图一
update user set host = '%' where user ='root';
flush privileges;
select host,user,plugin from user; 见图二
图一
图二
退出服务
exit
第十二步开放阿里云安全组入口端口权限以及防火墙端口权限
(1)阿里云
(2)防火墙
开启防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙以生效配置
systemctl restart firewalld.service
查看可用端口
firewall-cmd --list-ports
第十三步 测试
(1)使用可视化工具进行数据库连接
我的到这里是可以成功连接的,然后目前为止msyql基本已经安装成功,并且可以进行使用。