MySQL数据库安装部署(Linux 二进制方式安装)

1.前期准备(检查安装环境)

# 确认操作系统数据库服务安装环境

-- 查看操作系统的版本信息
[root@bj-25 ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

-- 查看操作系统的网卡地址
[root@bj-25 ~]# ip address show eth0  
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:2e:a6:c1 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0

-- 查看系统本地域名解析信息
[root@bj-25 ~]# cat /etc/hosts
...省略部分信息...
10.0.0.200  bj-25

-- 查看防火墙服务是否关闭
[root@bj-25 ~]# systemctl is-active firewalld      
unknown
[root@bj-25 ~]# systemctl is-enabled firewalld
disabled

-- 查看selinux安全策略是否关闭
[root@bj-25 ~]# getenforce 
Disabled

-- 清楚系统自带的mariadb数据库服务相关的程序包
[root@bj-25 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@bj-25 ~]# yum remove -y mariadb-libs

-- 安装数据库服务程序所需的依赖软件包
[root@bj-25 ~]# yum install -y libaio-devel

-- 需要修改链接库信息(只有centos 8 系统才需要进行操作修改)
[root@bj-25 ~]# ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
或者
[root@bj-25 ~]# yum install ncurses-compat-libs

2.下载所需MySQL安装包

官网地址:www.mysql.com
image-20250408145448255
image-20250408145509968
image-20250408145530227
image-20250408145553923
image-20250408145612734

3上传安装包并解压

# 数据库服务程序详细安装过程
-- 上传数据库程序软件包
[root@bj-25 ~]# cd /usr/local/
[root@bj-25 local]# rz -y

-- 解压数据库服务软件程序压缩包
[root@bj-25 local]# tar xf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz 

-- 创建数据库服务程序目录的软链接
[root@bj-25 local]# ln -s mysql-8.0.26-linux-glibc2.12-x86_64 mysql

-- 配置数据库服务程序环境变量
[root@bj-25 local]# tail -1 /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
[root@bj-25 local]# source /etc/profile

-- 可以获取数据库服务版本信息表示环境变量配置生效
[root@bj-25 local]# mysql -V
mysql  Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)

-- 创建数据库服务管理用户信息
[root@bj-25 local]# useradd mysql

-- 创建数据库服务相关目录并进行目录信息进行授权
[root@bj-25 local]# mkdir -p /data/3306/data /data/3306/logs
[root@bj-25 local]# chown -R mysql. /data/

4.进行初始MySQL数据库服务操作(8.0版本数据库)

数据库初始化命令应用解读:

核心程序命令 初始化核心参数 数据管理用户 数据存储路径 数据存放目录
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data

数据库初始化命令实践操作:

# 数据库服务初始化操作过程
-- 数据库初始化过程,就是将数据库默认的系统数据信息创建出来,以及根据配置文件激活数据库的特定功能;
[root@bj-25 local]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data
2022-10-11T16:33:20.057586Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 33820
2022-10-11T16:33:20.099560Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-10-11T16:33:20.490688Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-10-11T16:33:21.202672Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2022-10-11T16:33:21.203068Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2022-10-11T16:33:21.292047Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.


# 数据库服务初始化经典报错信息
报错情况-01:
[报错信息]:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
[解决方法]:
yum install -y libaio-devel

报错情况-02:
[报错信息]:
initialize specified but the data directory has files in it. Aborting.
The designated data directory /data/3306/data/ is unusable. You can remove all files that the server added to it.
[解决方法]:
rm -rf /data/3306/data/*


说明:数据库服务初始化的过程,是用于让数据库服务创建出一些默认的数据信息,以及识别存储数据目录信息

5.编写生成MySQL数据库配置文件

[root@bj-25 ~]# cat > /etc/my.cnf <<eof
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
eof

-- 创建数据库服务运行需要加载的my.cnf配置模板文件

6.启动运行MySQL数据库服务脚本

# 查看数据库服务默认启动脚本文件
[root@bj-25 ~]# ls -l /usr/local/mysql/support-files/mysql.server 
-rwxr-xr-x 1 7161 31415 10576 7月   1 2021 /usr/local/mysql/support-files/mysql.server
-- 数据库服务默认的启动脚本文件

# 设置数据库服务程序启动运行文件
[root@bj-25 ~]# cp /usr/local/mysql/support-files/mysql.server   /etc/init.d/mysqld

# 启动数据库服务程序利用脚本文件
[root@bj-25 ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/3306/data/bj-25-01.edu.err'.
 SUCCESS! 
[root@bj-25 ~]#  /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS! 
-- 启动和停止数据库服务均成功

-- 设置数据库服务开机自动运行
[root@bj-25 ~]# chkconfig --add mysqld

# 启动数据库服务程序利用脚本文件 (systemd方式)
-- 将service管理服务方式转换为systemd管理服务方式 (注意:在配置systemctl前需要用/etc/init.d/mysqld stop数据库)
[root@bj-25 ~]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on

[root@bj-25 ~]# systemctl start mysqld


# 检查确认数据库服务是否启动成功
--检查端口
[root@bj-25 ~]# netstat -lntup|grep 3306
tcp6       0      0 :::33060               :::*                    LISTEN      67809/mysqld        
tcp6       0      0 :::3306                 :::*                    LISTEN      67809/mysqld        

--检查服务进程
[root@bj-25 ~]# ps -ef|grep mysql
root        67663      1      0 01:04 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --pid-file=/data/3306/data/xiaoQ-01.edu.pid
mysql     67809  67663  0 01:04 pts/0    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=xiaoQ-01.edu.err --pid-file=/data/3306/data/xiaoQ-01.edu.pid --socket=/tmp/mysql.sock

7.登录管理MySQL数据库服务程序

[root@bj-25 ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

8.其他说明

不同数据库服务版本安装初始化差异说明:

版本信息 命令信息 初始化操作参数 备注说明
5.6 mysql_install_db 初始化的命令不一致,参数相同(无管理员密码)
5.7 8.0 mysqld --initialize-insecure 表示不安全方式初始化(无管理员密码)
--initialize 表示安全方式初始化(有随机默认管理员密码)
安全方式初始化特性: 

将会生成临时密码(12位密码 需要满足4种复杂度),必须在首次登录数据库时改掉,才能正常管理数据库;

使用安全模式初始化数据库后,需要利用临时密码登录数据库服务,并设置管理员用户密码信息

mysql > alter user root@'localhost' identified by '123456';

-- 如果不修改设置管理员用户密码,使用临时密码只是能登录数据库,但是无法管理数据库
posted @ 2025-04-14 15:55  不断精进,终生成长  阅读(25)  评论(0)    收藏  举报