Linux环境下安装MySQL数据库示例教程

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Linux环境对大多数SQL初学者还是比较陌生,今天给大家演示一下如何在Linux环境下安装MySQL数据库。

测试环境

CentOS 7.0


创建用户

我们进入到CentOS后,打开终端命令窗口,新建一个msql用户,并输入密码

10.jpg

注意:这里提示新的密码必须不少于8个字符,只是警告而已,可以不用理会。


下载MySQL

我们去MySQL的官网下载我们需要的安装包,这里我们下载5.6.64版本的。

地址:

https://dev.mysql.com/downloads/mysql/5.6.html#downloads

因为我们的CentOS是64位的操作系统,我们选择64位的安装包。

如下图:

11.jpg然后将需要的文件下载到指定目录下面,这里因为我们刚新建了一个mysql的用户,在home目录下就有一个mysql子目录了,我们将安装包放到这里。


cd /home/mysql && wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.46-linux-gli


12.jpg

解压MySQL安装包

我们将目录切换到msql目录下面,开始解压下载好的的安装包


tar vxzf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz



重命名解压后的文件夹


mv mysql-5.6.46-linux-glibc2.12-x86_64 mysql-5.6.46



新建配置文件

在mysql目录下面新建一个my.cnf文件

vi /home/mysql/port-3306/my.cnf


具体内容如下:

[client]
default-character-set=utf8 #客户端连接编码
[mysql]
auto-rehash #客户端tab补全
default-character-set=utf8 #编码
[mysqld]
user=mysql #运行账户
port=3306                     #定义端口
log-bin=mysql-bin             #开启二进制日志
server-id=1001                #定义服务ID
binlog_format=row          # binlog类型
binlog_do_db=MDA # 设置binlog数据库
max_allowed_packet=50M ###最大
wait_timeout=30             ###等待超时默认s
interactive_timeout=30      ###活动超时
innodb_buffer_pool_size = 128M
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
basedir=/home/mysql/mysql-5.5.61           #MYSQL根目录
datadir=/home/mysql/port-3306/data      #MYSQL数据存放目录
socket=/home/mysql/port-3306/3306_mysql.sock #套接字
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8 #定义数据库默认字符 server\collation
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names = 1             #对表的大小写不敏感
[mysqld_safe]
log-error=/home/mysql/port-3306/logs/err.log #错误日志
pid-file=/home/mysql/port-3306/mysqld.pid #pid,多协议通信 tcp/sock



开始安装

安装之前我们需要安装mysql需要的一些依赖文件


yum install -y libaio



初始化数据库


mkdir -p /data/mysql/port-3306/data
cd /home/mysql/mysql-5.6.46 && scripts/mysql_install_db --basedir=/home/mysql/mysql-5.6.46 --datadir=/home/mysql/port-3306/data --defaults-file=/home/mysql/port-3306/my.cnf



13.jpg

注意:生产环境推荐采用这种方式

/home/mysql/mysql-5.6.46/bin/mysql_secure_installation移除测试数据库和匿名用户。


启动服务器

启动前要修改一下mysql目录下的属性

chown mysql:mysql /home/mysql/*


创建日志目录

mkdir -p /home/mysql/port-3306/logs && mkdir -p /home/mysql/port-3306/data && touch /home/mysql/port-3306/logs/err.log;
/home/mysql/mysql-5.6.46/bin/mysqld_safe --defaults-file=/home/mysql/port-3306/my.cnf --user=mysql &



14.jpg15.jpg


修改管理员密码

/home/mysql/mysql-5.6.46/bin/mysqladmin -u root password 'sqlroad' -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306


开放外网连接权限

/home/mysql/mysql-5.6.46/bin/mysql -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3306 -uroot -p'sqlroad'


执行脚本

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'sqlroad' WITH GRANT OPTION;
FLUSH PRIVILEGES;


连接

/home/mysql/mysql-5.6.46/bin/mysql -S /home/mysql/port-3306/3306_mysql.sock -hlocalhost -P3

16.jpg

远程连接

查看本机防火墙,如果运行,也需要开启3306端口,命令如下:


systemctl status firewalld;
firewall-cmd --permanent --zone=public --add-port=3306/tcp;
firewall-cmd --complete-reload;


备注:千万不要忽略本机防火墙。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
123 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
2天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
20天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
49 14
Linux 10 个“who”命令示例
|
28天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
9天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
28 0
|
3天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
13 3
|
3天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
18 3
|
3天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
22 2
|
16天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
117 15