赞
踩
安装包下载链接:MySQL Community Downloads ,经历过一次失败 发现这个安装包版本选择很重要,centos7的只能选择redhed系统下的安装包。而且我的阿里云系统是arm版本的,还智能选择arm系列安装包。最终我选择了用arm版的mysql安装, 安装记录连接指向:https://blog.csdn.net/yangyong1250/article/details/129183678?spm=1001.2014.3001.5501
将下载的文件上传到linux中的一个目录,我这里是上传到了mnt目录,因为我的mnt目录是挂载了数据盘的, 我想要尽量保持系统盘不被安装的软件占用太多空间。安装的时候我也会解压到这个目录去安装。
(1)检查系统是否有MySQL目录,有就删除目录。
find / -name mysql
find / -name mysqld
删除所有与 mysql 数据库关联的目录(如果是python关联模块为mysql,就不要删除)
rm -rf 关联的目录
(2)验证mysql是否还存在进程
验证依赖:输入 pstree
有这么一条进程关系 mysqld_safe───mysqld───27*[{mysqld}]
意思为mysqld_safe是mysqld的父进程,如果这一步验证了有依赖行,那肯定的是有进程。
验证进程是否存在,如果有就执行kill命令删除进程:
ps -ef |grep mysqld
kill -9 pid编号
ps -ef |grep mysql
kill -9 pid编号
进程列表解释:
列序号 列含义 列含义说明
1 UID 用户标识ID
2 PID 进程ID
3. PPID 父进程ID
4 C CPU占用率
5 STIME 进程开始时间
6 TTY 启动此进程的TTY(终端设备)
7 TIME 此进程运行的总时间
8 CMD 完整的命令名(带启动参数)
(1)执行cd命令回到根目录并进入mnt目录
cd /
cd mnt
执行命令 mkdir mysql5.7.4 创建目录,也可以用sftp工具直接操作创建,我就用的sftp工具创建的,直接权限就755了,更方便。
(2)解压下载的压缩包 ,注意,-zxvf后面的 文件名可能不一定是我这个,要根据实际文件名修改。
解压到指定目录:tar xvf mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar -C ./mysql5.7.4
tar xvf mysql-8.0.31-1.el7.aarch64.rpm-bundle.tar -C ./mysqlarm5.7.4
解压到当前目录:tar -zxvf mysql-5.7.40-el7-x86_64.tar.gz
(3)有需要还可以修改文件夹名称。然后删除压缩包,我直接用sftp删除了。
(4) 进入文件夹mysql5.7.4
cd mysql5.7.4
(5)创建数据文件夹
mkdir data
(6)修改目录权限
chown -R mysql:mysql /mysql5.7.4
(7)配置my.cnf文件
vim /etc/my.cnf
清除里面所有的内容(按下i键进入编辑模式才能不断删除),然后将下面的配置根据自己需要修改好之后复制粘贴进去,所有的工作目录都要改成自己安装的目录,比如我的mysql安装目录是/mnt/mysql5.7.4。具体配置如下:
[mysqld]
#user=mysql
port=3306
basedir=/mnt/mysql5.7.4
datadir=/mnt/mysql5.7.4/data
socket=/mnt/mysql5.7.4/mysql.sock
tmpdir=/mnt/mysql5.7.4/tmp
# 数据库默认字符集编码 urf8 国内通常为 utf8mb4_general_ci
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init-connect='SET NAMES utf8mb4'
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#skip-grant-tables
plugin-load-add=validate_password.so #在mysql启动时载入插件
validate-password=FORCE_PLUS_PERMANENT #为阻止该插件在运行时被删除,设置为永久强制使用
# 弱密码策略永久生效
validate_password_length=6
validate_password_policy=0
#
explicit_defaults_for_timestamp=true
[mysqld_safe]
# mysqld 日志
log-error=/mnt/mysql5.7.4/log/mysqld.log
pid-file=/mnt/mysql5.7.4/mysqld.pid
[mysql]
#设置mysql客户端默认字符集utf8
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
socket=/mnt/mysql5.7.4/mysql.sock
default-character-set=utf8mb4
(8)初始化数据库 ,执行cd命令到解压目录 cd /mnt/mysql5.7.4/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/mnt/mysql5.7.4/ --datadir=/mnt/mysql5.7.4/data/ --user=root --initialize
./mysqld --user=mysql
失败:在我这里 上面两个命令都提示 -bash: ./mysqld: 无法执行二进制文件, 查了很久,得到的结论是我的服务器 CPU 是 arm 架构的,必须要选用arm版的mysql安装包, 还有些说可以用cmake方式安装,但是我尝试失败了。 最终我选择了用arm版的mysql安装, 安装记录连接指向:https://blog.csdn.net/yangyong1250/article/details/129183678?spm=1001.2014.3001.5501
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。