MYSQL数据库安装

一.编译安装MySQL服务

1.安装环境依赖包

2.将安装mysql 所需软件包传到/opt目录下

bash 复制代码
mysql-boost-5.7.44.tar
tar zxvf mysql-boost-5.7.44.tar.gz

3. 配置软件模块

bash 复制代码
cd /opt/mysql-5.7.44/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

4.编译及安装

bash 复制代码
make -j4 && make install

5.创建mysql用户

复制代码
useradd -M -s /sbin/nologin mysql

6.修改mysql 配置文件

bash 复制代码
 
vim /etc/my.cnf	    #修改mysql 配置文件
 
					#删除原配置项,再重新添加下面内容
[client]									#客户端设置
port = 3306
socket = /usr/local/mysql/mysql.sock			
 
[mysql]										#服务端设置
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash									#开启自动补全功能
 
[mysqld]									#服务全局设置
user = mysql       							#设置管理用户
basedir=/usr/local/mysql					#指定数据库的安装目录
datadir=/usr/local/mysql/data				#指定数据库文件的存储路径
port = 3306									#指定端口
character-set-server=utf8					#设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid		#指定pid 进程文件路径
socket=/usr/local/mysql/mysql.sock			#指定数据库连接文件
bind-address = 0.0.0.0						#设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve							#禁止域名解析,包括主机名,所以授权的时候要使用 IP 地址
max_connections=4096						#设置mysql的最大连接数
default-storage-engine=INNODB				#指定默认存储引擎
max_allowed_packet=32M						#设置在网络传输中一次消息传输量的最大值。系统默认值为 1MB,最大值是 1GB,必须设置 1024 的倍数。
server-id = 1								#指定服务ID号
 
	

7.更改mysql安装目录和配置文件的属主属组

bash 复制代码
chown -R mysql:mysql /usr/local/mysql/
#将 /usr/local/mysql/ 目录下的所有文件和子目录的所有者更改为 mysql,所属组更改为 mysql。-R 选项表示递归地更改目录及其子目录和文件的所有者和所属组。
chown mysql:mysql /etc/my.cnf
#将 /etc/my.cnf 文件的所有者更改为 mysql,所属组更改为 mysql。

8.设置路径环境变量

bash 复制代码
chown -R mysql:mysql /usr/local/mysql/
#将 /usr/local/mysql/ 目录下的所有文件和子目录的所有者更改为 mysql,所属组更改为 mysql。-R 选项表示递归地更改目录及其子目录和文件的所有者和所属组。
chown mysql:mysql /etc/my.cnf
#将 /etc/my.cnf 文件的所有者更改为 mysql,所属组更改为 mysql。

9. 初始化数据库

bash 复制代码
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \				#生成初始化密码为空
--user=mysql \                      #指定管理用户
--basedir=/usr/local/mysql \        #指定数据库的安装目录
--datadir=/usr/local/mysql/data		#指定数据库文件的存储路径
----------------------------------------------------------------------------------------------------------
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

10. 添加mysqld系统服务

11.修改mysql 的登录密码

bash 复制代码
mysqladmin -u root password "abc123" 	
#给root账号设置密码为abc123,原始密码为空
bash 复制代码
mysql -u root -p 
show databases;			#查看当前已有的数据库
相关推荐
SelectDB20 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶21 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵1 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils1 天前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
SamDeepThinking1 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
Databend2 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
李白客3 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence3 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将3 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils4 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库