九五从零开始的运维之路(其二十六)(2)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 随机密码会在提示信息中显示复制服务文件到/etc/init.d目录下

2.yum安装mariadb

yum -y install mariadb mariadb-server

不使用配置文件越过密码验证,修改密码

mysqladmin -uroot -p password ‘新密码’


3.源码安装

注意事项

CPU最少2核以上

内存最少2G以上

swap分区2G以上

硬盘空间至少20G以上

安装前的准备

安装依赖包


yum -y install gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel


下载安装包


cmake-3.9.1-Linux-x86_64.tar.gz


安装cmake,8.0版本的mysql需要cmake3.5版本以上。


gcc-6.3.0.tar.gz


8.0版本的mysql需要gcc版本为5.3以上


mysql-boost-8.0.13.tar.gz


下载带有boost的安装包

安装gcc/升级gcc

安装gcc依赖包


yum -y install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel glibc-headers


安装gcc


tar xf gcc-6.3.0.tar.xz


cd gcc-6.3.0/


./configure --disable-multilib && make && make install


这个编译会非常非常久,就慢慢等吧,如果有双核CPU可以使用make -j2,4核CPU可以使用make -j4可以大大提高编译速度。

安装mysql


tar xf mysql-boost-8.0.13.tar.gz


cd mysql-8.0.13/


cmake  -DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DWITH_PAM=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_PLUGINDIR="/usr/local/mysql/lib/plugin" \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EDITLINE=bundled \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SSL=system \
-DWITH_BOOST=./boost


make -j2/4


make install


配置

创建数据库文件夹和日志文件夹,更改用户为mysql


useradd -s /sbin/nologin mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql/
mkdir -p /var/log/mysql
chown -R mysql:mysql /var/log/mysql/
mkdir -p /var/run/mysql
chown -R mysql:mysql /var/run/mysql


修改配置文件my.cnf


vim /etc/my.cnf


[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
pid-file=/var/run/mysql/mysql.pid
!includedir /etc/my.cnf.d


初始化mysql数据库


/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/


随机密码会在提示信息中显示

复制服务文件到/etc/init.d目录下


cp /opt/mysql-8.0.20/support-files/mysql.server /etc/init.d/


chmod a+x /etc/init.d/mysql.server


/etc/init.d/mysql.server start


查看服务


netstat -anptl | grep mysql


登录数据库修改初始root密码


echo "export PATH=/usr/local/mysql/bin:$PATH:/usr/local/bin" >/etc/profile.d/mysql.sh


source /etc/profile.d/mysql.sh


mysql -u root -p


在回车之后输入随机密码

修改密码


mysql> alter user 'root'@'localhost' identified with mysql_native_password BY '新密码';


mysql> flush privileges;


看到Query OK, 0 rows affected (0.00 sec)则操作成功

gcc的版本根据软件包的版本需求更新升级


五、mysql登录

1.本地登录

使用命令


2.借助软件登录

navicat


六、mysql配置

1.数据库目录结构

(一)rpm安装

mysql:存储MySQL的数据文件和表结构定义等。

mysql-files:存放需要MySQL账户权限的文件。

mysql-keyring:存放加密密钥,以供MySQL使用。

mysql.sock:MySQL服务器的Unix套接字文件。

ib_logfile0和ib_logfile1:InnoDB引擎的事务日志文件。

ibdata1:InnoDB引擎的数据文件,包括表数据和索引等。

*.err:MySQL错误日志文件,记录MySQL运行时的错误和警告等信息。

*.pid:MySQL进程ID文件,存储MySQL进程的进程号。


(二)源码安装

mysql-/

├── extra/ # 额外的工具和脚本

├── include/ # 包含头文件

├── lib/ # 包含库文件

│ ├── libmysqlclient.so # MySQL 客户端库文件

│ └── libmysqld.so # MySQL 服务器端库文件

├── share/ # 包含共享文件

├── support-files/ # 包含初始化脚本和系统服务

│ ├── mysql.server # MySQL 服务启动脚本

│ ├── mysql.service # MySQL systemd 服务配置

│ └── … # 其他各种脚本和配置文件

├── bin/ # MySQL 二进制文件

│ ├── mysqld # MySQL 服务器二进制文件

│ ├── mysql # MySQL 客户端二进制文件

│ ├── mysqladmin # 管理 MySQL 服务器的工具

│ ├── mysqldump # 导出 MySQL 数据库的工具

│ └── … # 其他各种 MySQL 工具

├── man/ # MySQL 帮助手册

├── docs/ # MySQL 文档

├── sql/ # MySQL SQL 脚本文件

└── zlib/ # MySQL 所依赖的 zlib 库


2.主配置文件详解

主配置文件所在 /etc/my.cnf

[mysqld]

[mysqld]"表示该段配置是针对MySQL服务器的

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysql/mysql-error.log

pid-file=/var/run/mysql/mysql.pid

max_connections=500

character-set-server=utf8mb4

collation-server=utf8mb4_unicode_ci

[mysql]

[mysql]"中的配置项表示该段配置是针对MySQL客户端的

default-character-set=utf8mb4

拓展配置项

port:MySQL端口号

log_warnings:设置错误日志是否记录警告信息

slow_query_log_file:慢日志文件路径名

long_query_time:当查询时间超过指定的秒数时,会被记录到慢日志中

innodb_buffer_pool_size:InnoDB缓存池大小

join_buffer_size:用于JOIN操作的缓存大小

max_allowed_packet:MySQL允许传输的最大数据包大小

skip_name_resolve:禁用DNS解析


总结

以上是在Linux操作系统上安装MySQL的一般步骤总结。根据具体的Linux发行版和版本,可能会有一些细微的差异,但大致流程是相似的。在安装过程中,需要注意权限设置、依赖软件的安装和配置文件的修改等细节,以确保MySQL能够正常运行。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11月前
|
运维 Java 应用服务中间件
九五从零开始的运维之路(其十九)
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 Tomcat虚拟主机是通过linux或windows操作系统下进行独立运行的一个网站发布容器,他是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
78 0
|
11月前
|
SQL 运维 关系型数据库
|
11月前
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其三十五)
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
66 2
|
11月前
|
监控 Linux 网络安全
Linux系统下的keepalived双机热备
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但 是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
149 0
|
11月前
|
运维 负载均衡 算法
九五从零开始的运维之路(其三十六)
(一)四层负载均衡器 四层负载均衡器也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
59 0
|
11月前
|
存储 缓存 NoSQL
九五从零开始的运维之路(其三十二)
本篇将简述的内容:Linux系统下的Redis基础
67 0
|
11月前
|
存储 运维 Linux
九五从零开始的运维之路(其三十一)
计划任务是在指定的时间间隔内自动执行的任务。在Linux系统中,常用的计划任务工具是crond(cron daemon)。用户可以通过创建计划任务来定期执行指定的命令或脚本。
60 0
|
11月前
|
存储 运维 关系型数据库
九五从零开始的运维之路(其二十九)
数据库备份是指将数据库中的数据、表格、视图、存储过程、触发器等信息备份到另一个地方,以便在数据库丢失或损坏时进行恢复。数据库备份是数据库管理中必不可少的一项工作,通过备份可以保护数据库中的数据和业务
70 0
|
11月前
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其二十八)
数据库用户权限管理是数据库系统中非常重要的一个方面,它用于控制不同用户访问和操作数据库的权限范围。数据库用户权限管理可以保护敏感数据和数据库结构,确保只有被授权的用户才可以操作和使用数据库,防止数据被修改或泄露,并最大程度地保证数据库的安全。为了保护数据库的安全性,合理管理MySQL服务用户的权限是至关重要的。
50 0
|
11月前
|
存储 SQL 运维
九五从零开始的运维之路(其二十七)(1)
排序查询:排序查询是通过SQL查询语句将所查询的结果按照指定的排序方式排列 升序(默认):ASC
160 0