MySQL数据库Linux服务器安装

简介: MySQL数据库Linux服务器安装;mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz;

1、源码包安装

在CentOS服务器上安装Mysql时,由于Centos自身的yum源中用Mysql的分支Mariadb代替了MySQL,所以选择rpm或tar.gz包的方式安装(可在线或离线)。

1.1、安装

查看是否有安装过mysql
有则删除
rpm –qa |grep mysql
image.png
查询所有Mysql对应的文件夹并删除

whereis mysql
rm -rf /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql
/usr/share/man/man1/mysql.1.gz

image.png
查询mysql用户和用户组是否存在,不存在则创建

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql

image.png
下载或导入Mysql安装包,下载地址:
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
image.png
解压安装包
tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
移动目录并重命名
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
创建数据仓库目录
mkdir -p /data/mysql
更改相关目录所属

chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R mysql /data/mysql

image.png
初始化数据库(需要注意生成的临时密码):
`
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
`
image.png
启动SSL
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
image.png

1.2、配置

复制并修改配置文件mysql

cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql
basedir=/usr/local/mysql mysql #安装路径
datadir=/data/mysql #数据存储路径

image.png
修改配置文件my.cnf

vim /etc/my.cnf 
datadir=/data/mysql #数据存储路径
port=3306 #端口

image.png
启动MySQL
/usr/local/mysql/support-files/mysql.server start
image.png

1.3、连接

连接数据库:
mysql -hlocalhost -uroot -p
密码例如bko0)gfktskH
修改密码
set password=password('root');
设置root账户的host地址(修改了才可以远程连接)

grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;

查看表

use mysql;
select host,user from user;

image.png
退出后打开3306端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
连接数据库
image.png
image.png

2、备注

2.1、问题处理

问题:mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists
创建文件

mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

image.png
问题:mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists
image.png
创建目录并授权

mkdir /var/lib/mysql
chmod 777 /var/lib/mysql

image.png
问题:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
查找mysql.sock文件位置
find / -name mysql.sock
创建软连接
ln -s /var/lib/mysql/mysql.sock /tmp
2.2、参考资料
https://www.cnblogs.com/fanshudada/p/9781794.html
https://www.jianshu.com/p/276d59cbc529
https://blog.csdn.net/weixin_38003389/article/details/90696337
https://www.jianshu.com/p/276d59cbc529
https://blog.csdn.net/qq_24347541/article/details/88734308
https://blog.csdn.net/colsum/article/details/89226964
https://blog.csdn.net/qq_32331073/article/details/76229420
https://blog.csdn.net/u010457406/article/details/78171441

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Prometheus Cloud Native 网络协议
prometheus专题—(十三) proemetheus多实例采集
文档:https://prometheus.io/docs/guides/multi-target-exporter/
1255 0
prometheus专题—(十三) proemetheus多实例采集
|
4月前
|
人工智能 自然语言处理 API
AI时代,大学生如何从就业走向创业?
AI时代,大学生可走“先就业、再创业”新路径:以AI智能体为杠杆,在职场成长为“一人部门型员工”,积累案例、客户与商业认知,再升级为面向市场的“一人公司”。本文详解三阶段跃迁、三大核心能力及开源社区支持资源。
|
9月前
|
搜索推荐 C++ 索引
RAG 的失败,大多在“切文档”那一刻就已经注定
RAG项目常败在文档切分:切得过小导致语义断裂,固定长度破坏表格/列表/步骤等关键结构。真正决定效果的,不是模型或向量库,而是chunk是否具备“语义完整性”——能否独立支撑答案。切分应以“生成可用性”为第一标准,而非检索便利性。
|
9月前
|
安全 算法 数据安全/隐私保护
给文档盖上“隐形印章”——全新PDF内嵌字体水印技术,让每一份文件都有迹可循
合肥高维数据首创PDF内嵌字体水印技术,通过微观重构字体结构,实现水印无感嵌入、精准提取,兼具隐形性与抗干扰能力。广泛应用于企业保密、版权保护、法律审计与教育领域,为每份文档赋予唯一“数字身份证”,重新定义文档安全新标准。(238字)
531 4
|
JavaScript 前端开发 开发者
"震撼揭秘!ElementUI Table组件大变身,一键自定义升序降序按钮,排序操作秒变炫酷舞台,点击即燃,你的列表排序从此不再平凡!"
【8月更文挑战第16天】在Vue.js开发中,ElementUI的Table组件因其实用性和灵活性深受喜爱。本文通过一个后台管理系统用户列表的案例,展示了如何自定义添加“升序”和“降序”按钮以增强排序功能。首先确保安装Vue与ElementUI;接着定义表格数据及初始排序状态;利用scoped slot自定义列模板,加入按钮并绑定点击事件;最后实现在点击按钮时更新排序状态并重新排序数据的逻辑。这种方法不仅改善了用户体验,还为开发者提供了灵活调整排序逻辑的空间。
891 3
|
10月前
|
Ubuntu Shell Linux
Docker常用命令
本文介绍了Docker常用命令,涵盖启动、停止、重启、状态查看及开机自启等基础操作,版本与帮助信息查询,镜像的列出、搜索、下载、删除及空间管理,虚悬镜像处理,命令自动补全配置方法,以及后台运行Linux容器和yum下载依赖技巧,适用于Docker日常运维与开发。
283 0
|
10月前
|
存储 人工智能 JSON
🤖 Agent系统
大模型Agent是具备自主规划、推理决策、工具调用与记忆能力的智能体,核心由大脑(LLM)、感知、行动与记忆组件构成,支持任务分解、反思优化与多轮交互。常见框架如LangChain、AutoGPT、CrewAI等,广泛应用于复杂任务处理与企业级AI系统。(238字)
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
JavaScript Java 数据库
企业微信接入系列-扫码绑定/登录
讲述在企业后台管理平台账号绑定企业微信以及企业微信扫码登录企业管理平台
企业微信接入系列-扫码绑定/登录
|
小程序 Java 开发工具
【Java】@Transactional事务套着ReentrantLock锁,锁竟然失效超卖了
本文通过一个生动的例子,探讨了Java中加锁仍可能出现超卖问题的原因及解决方案。作者“JavaDog程序狗”通过模拟空调租赁场景,详细解析了超卖现象及其背后的多线程并发问题。文章介绍了四种解决超卖的方法:乐观锁、悲观锁、分布式锁以及代码级锁,并重点讨论了ReentrantLock的使用。此外,还分析了事务套锁失效的原因及解决办法,强调了事务边界的重要性。
712 2
【Java】@Transactional事务套着ReentrantLock锁,锁竟然失效超卖了