Linux – mysql数据库的安装

mysql数据库的配置

安装mysql

使用官方仓库安装

Centos:

首先导入 MySQL 官方的 Yum 源配置文件:

sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

默认启用的是 MySQL 8.0,如果需要安装 5.7 版本,需修改配置文件:

sudo vi /etc/yum.repos.d/mysql-community.repo

[mysql57-community] 部分的 enabled=0 改为 enabled=1

并将 [mysql80-community]enabled=1 改为 enabled=0

Ubuntu:

sudo apt update
sudo apt install -y mysql-server

默认安装的依然是 mysql 8.0 版本

要安装 5.7 版本则需要添加 MySQL 官方源

wget -qO - https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | sudo apt-key add -
echo "deb http://repo.mysql.com/apt/ubuntu/ $(lsb_release -cs) mysql-5.7" | sudo tee /etc/apt/sources.list.d/mysql.list
sudo apt update

然后安装时指定 5.7 版本

sudo apt install -y mysql-server-5.7

安装完成后,启动服务并添加开机启动

sudo yum install -y mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld

MySQL 8.0 安装后会生成一个临时密码:

sudo grep 'temporary password' /var/log/mysqld.log

Mysql 5.7 则默认为空密码

编译安装
安装准备

创建 MySQL 用户和组

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

下载 mysql 5.7版本源码

wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.40.tar.gz

下载 mysql 8.0版本源码

wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.33.tar.gz

解压并进入到解压后目录

tar -zxf 下载的mysql文件名
cd 解压后的目录

然后进行编译安装

编译参数 mysql-5.7

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_TCP_PORT=3306

mysql-8.0版本需要添加一下编译参数

-DWITH_BOOST=boost \
-DDOWNLOAD_BOOST=1

编译并安装,如果多线程编译出错把 -j 参数去除

make -j$(nproc)  # 使用多线程编译
sudo make install

配置环境变量

echo 'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee -a /etc/profile
source /etc/profile

初始化数据库

sudo mkdir -p /var/lib/mysql
sudo chown mysql:mysql /var/lib/mysql
sudo chmod 755 /var/lib/mysql

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

注意:初始化完成后,记录临时生成的 root 密码(输出中包含 A temporary password is generated for root@localhost:

配置为系统服务后即可启动

sudo cp support-files/mysql.server /etc/init.d/mysql
sudo chmod +x /etc/init.d/mysql
sudo systemctl daemon-reload
sudo systemctl enable mysql
sudo systemctl start mysql
编译参数说明
参数名 说明
-DCMAKE_INSTALL_PREFIX 指定 MySQL 安装目录
-DMYSQL_DATADIR 指定数据文件存放目录
-DSYSCONFDIR 指定配置文件目录
-DWITH_MYISAM_STORAGE_ENGINE 启用 MyISAM 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE 启用 InnoDB 存储引擎(默认事务引擎)
-DWITH_ARCHIVE_STORAGE_ENGINE 启用 Archive 存储引擎(适合日志记录)
-DWITH_BLACKHOLE_STORAGE_ENGINE 启用 Blackhole 存储引擎(丢弃所有写入数据)
-DWITH_PERFSCHEMA_STORAGE_ENGINE 启用 Performance Schema(性能监控)
-DMYSQL_UNIX_ADDR 指定 Unix 套接字文件路径(如 /var/lib/mysql/mysql.sock
-DENABLED_LOCAL_INFILE 启用 LOAD DATA LOCAL INFILE 功能(导入本地文件)
-DWITH_PARTITION_STORAGE_ENGINE 启用分区表支持
-DWITH_SSL 指定 SSL 库位置(如 system 使用系统已安装的库)
-DWITH_ZLIB 指定 Zlib 库位置(如 system 使用系统已安装的库)
-DWITH_LIBWRAP 启用 TCP Wrappers 安全功能(0 为禁用)
-DMYSQL_TCP_PORT 指定 MySQL 监听端口(默认 3306)
-DWITH_BOOST 指定 Boost 库路径(MySQL 8.0 强制依赖)
-DDOWNLOAD_BOOST 自动下载 Boost 库(值为 1 时自动下载)
-DDEFAULT_ENCRYPTION_ALGORITHM 指定默认加密算法(如 aes_256_cbc
-DENABLED_PROFILING 启用性能分析(调试用)
-DDEFAULT_AUTHENTICATION_PLUGIN 指定默认认证插件(如 mysql_native_password 兼容旧客户端)
-DWITH_DEBUG 启用调试模式(编译时间更长,生产环境建议禁用)
-DWITH_EMBEDDED_SERVER 编译嵌入式服务器(用于应用程序内嵌 MySQL)
-DEXTRA_CHARSETS 指定额外字符集支持(如 all 包含所有字符集)
-DDEFAULT_CHARSET 指定默认字符集(MySQL 8.0 默认 utf8mb4
-DDEFAULT_COLLATION 指定默认排序规则(如 utf8mb4_unicode_ci
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

    暂无评论内容