Mysql数据库

Linux安装Mysql服务(源代码安装)
贵鬼2025-02-18发布
68 0

安装系统:CentOS 7.9 64位

1. 安装gcc

yum list gcc-c++ | grep gcc-c++
yum -y install gcc-c++

2. 安装cmake

cmake是一个跨平台的、开源的构建工具。是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量.

yum -y install cmake

检查是否安装成功

yum list installed | grep cmake

源码包安装

cd /mnt/software/cmake-3.23.0
./bootstrap
make && make install

3. 安装opensll

yum -y install make openssl openssl-devel

4. 安装ncurses

ncurses是字符终端下屏幕控制的基本库

yum -y install ncurses ncurses-devel

5. 安装libtirpc

libtirpc包包含支持使用远程过程调用(RPC)API的程序的库

yum -y install libtirpc libtirpc-devel

6. 安装rpcsvc

rpcsvc-proto提供了远程过程调用(Remote Procedure Call,缩写为 RPC)协议的定义,确保不同系统之间的通信能够正确进行。它包含了必要的协议规范和数据结构,使得不同系统间的交互更加标准和可靠

cd rpcsvc-proto-1.4.2/
./configure
make && make install

7. 安装libevent

libevent是一个用C语言编写的、轻量级的开源高性能事件通知库.

yum -y install libevent libevent-devel

8. boots包

boost库是一个C++的开源库,提供了许多高质量的、可重用的组件,包括容器、算法、函数对象、迭代器、数值计算、并发编程等等。使用Boost库可以大大提高C++程序的开发效率和质量。

将包解压到:/mnt/software目录里


安装Mysql服务

1. 创建下面两个目录

/usr/local/mysql-5.7.38

/usr/local/mysql-5.7.38/tmp

2. 修改 CMakeLists.txt  

注释掉:#INCLUDE(cmake/abi_check.cmake)

3. cmake编译

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.38 \
-DMYSQL_DATADIR=/usr/local/mysql-5.7.38/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.7.38/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=/mnt/software

4. 编译&安装

make & make install


配置Mysql服务

1. 修改Mysql配置文件

vim /etc/my.cnf

修改以下内容

datadir=/usr/local/mysql-5.7.38/data
socket=/usr/local/mysql-5.7.38/tmp/mysql.sock

[mysqld]
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

2. 修改系统全局变量

vim /etc/profile

添加一下内容

export PATH=$PATH:/usr/local/mysql-5.7.38/bin

使配置生效

source /etc/profile


启动Mysql服务

1. 初始化并获取初始化密码

cd /usr/local/mysql-5.7.38/bin
sudo ./mysqld --initialize --datadir=/usr/local/mysql-5.7.38/data/ &

2. 如果没有获取初始化密码,则使用跳过验证启动

./mysqld --console --skip-grant-tables  --user=root 

3. 正常启动

sudo ./mysqld --defaults-file=/etc/my.cnf --user=root &

4. 已守护线程方式启动

./mysqld_safe --defaults-file=/etc/my.cnf --user=root &

5. 使用初始化密码登陆

使用初始化密码登陆操作时会报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

需要修改初始化密码,修改后Mysql可以正常使用

ALTER USER user() IDENTIFIED BY '你的密码';