Linux CentOS 安装 MySQL 服务教程
1. 查看系统和GNU C库(glibc)版本信息
1.1 查询机器 glibc 版本信息
glibc,全名GNU C Library,是大多数Linux发行版中使用的C库,为系统和应用程序提供核心的API接口。在Linux系统中,特别是在需要编译或运行依赖特定版本glibc的软件时,了解当前安装的glibc版本是非常重要的。
要查看CentOS 7系统中glibc的版本信息,你可以通过执行命令行指令来实现。以下是一些获取glibc版本信息的方法:
-
使用
ldd
命令 :ldd
命令通常用于打印程序或文件所以来的共享库列表,但也可以用来查看 glibc 的版本信息。
执行命令:shellldd --version
这个命令会打印出ldd的版本信息,它通常与glibc的版本相匹配。输出的第一行会显示glibc的版本号,操作后如下所示:
-
查询 glibc 包的版本 : 在基于RPM的系统(如CentOS)中,glibc作为一个软件包安装。你可以使用
rpm
命令查询 glibc 包的版本信息。
执行命令:shellrpm -a glibc
这个命令会返回已安装的glibc软件包的版本信息。
如下所示:
1.2 查询系统 CPU 架构信息
lscpu
命令在 Linux 系统中用于显示 CPU 架构信息,包括CPU的类型、核心数、每个核心的线程数、CPU的家族、型号等详细信息。这个命令聚合了从系统的多个资源(如/proc/cpuinfo
文件)收集的信息,以便为用户提供一个用于系统CPU配置的全面视图。
以下是lscpu
能够提供的一些关键信息:
- 架构:显示处理器架构,比如x86_64表示64位处理器。
- CPU运行模式:显示 CPU 支持的运行模式,通常是32位或64位。
- CPU数量:物理CPU数量。
- 每个CPU的核心数:每个物理CPU中核心的数量。
- 每个核心的线程数:每个核心能够同时处理的线程数,有助于了解CPU的超线程技术。
- CPU家族和型号:提供CPU的制造商、家族和具体型号信息。
- 缓存大小:显示CPU缓存的大小,这对于评估处理器性能非常重要。
如下所示:
2. 根据系统版本信息下载合适的 MySQL 服务
从上面的截图中可以看到,我本地的系统是架构是 aarch64
,glibc 版本是 glibc-2.17-317.el7.aarch64
,访问 MySQL 服务下载的官网:https://dev.mysql.com/downloads/mysql/
下载对应的版本如下所示:
下载好后,可以用 scp
命令将安装包上传至服务器中。
安装 MySQL 服务
-
解压压缩包
使用命令
tar -xvf mysql-8.0.36-linux-glibc2.17-aarch64.tar.xz
-
移动MySQL文件
将解压后的文件重命名,并移动到你指定的目录下
mv mysql-8.0.36-linux-glibc2.17-aarch64 mysql-8.0.36
-
添加用户和用户组
添加mysql用户和用户组:
useradd mysql
-
创建 mysql 数据目录
使用命令
mkdir data
创建数据目录,如下所示:
并修改权限:
chown mysql:mysql -R /opt/mysql/mysql-8.0.36
-
在MySQL目录下创建my.cnf文件
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/opt/mysql/mysql-8.0.36 datadir=/opt/mysql/mysql-8.0.36/data socket=/opt/mysql/mysql-8.0.36/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd character_set_server=utf8 log-error=/opt/mysql/mysql-8.0.36/logs/mysql.log pid-file=/opt/mysql/mysql-8.0.36/logs/mysql.pid # # include all files from the config directory # # !includedir /etc/my.cnf.d
-
初始化 mysql
命令如下:
/opt/mysql/mysql-8.0.36/bin/mysqld --defaults-file=/opt/mysql/mysql-8.0.36/my.cnf --basedir=/opt/mysql/mysql-8.0.36/ --datadir=/opt/mysql/mysql-8.0.36/data/ --user=mysql --initialize
-
查看数据库密码
-
安装 MySQL 服务
创建 systemd 服务文件,在 /etc/systemd/system/ 目录下,创建 mysql8.service 文件:
[Unit] Description=MySQL 8 Server After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/opt/mysql/mysql-8.0.36/bin/mysqld --defaults-file=/opt/mysql/mysql-8.0.36/my.cnf LimitNOFILE = 5000
确保 ExecStart 中的路径指向你的 mysqld 可执行文件的位置,并且 --defaults-file 参数指向正确的配置文件。
重新加载 systemd 配置,让 systemd 识别新的服务:
sudo systemctl daemon-reload
启动 MySQL 服务:
sudo systemctl start mysql8
设置开机自启:
sudo systemctl enable mysql8
-
登录数据库
使用命令 /opt/mysql/mysql-8.0.36/bin/mysql -u root -p 如果使用 mysql -u root -p 需自行配置环境变量
输入之前初始化时候的密码,如果日志路径配置正确,密码会打印在日志中,如下所示:
如果之前修改了 socket file,需要执行 /opt/mysql/mysql-8.0.36/bin/mysql -u root -p --socket=/opt/mysql/mysql-8.0.36/mysql.sock 命令连接数据库,连上之后如下所示:
-
修改登录密码,并允许从任意主机连接
执行以下SQL命令修改密码:
sql# 进入mysql库 use mysql; # 重新设置root用户密码为你想要设置的密码, 这里只能本地登录,可以将 localhost 替换成 % alter user 'root'@'localhost' identified with mysql_native_password BY '12345678'; # 刷新用户权限信息 flush privileges;
-
开放 3306 端口允许远程连接
firewall-cmd --permanent --add-port=3306/tcp firewall-cmd --reload
登录 mysql,执行如下命令允许 root 账号可以远程登录:
sqluse mysql; update user set host = '%' where host = 'localhost' and user = 'root'; flush privileges;
修改后可以看到:
之后通过 sqlyog 或其他连接工具连接即可:
其他问题
通过设置别名来连接特定的 mysql 服务
由于上面的安装方法是在自定义的目录中保存的,如果本地安装了多个 MySQL 服务,通过设置环境变量我们不好决定要连接哪个版本的 MySQL,如果你只是偶尔需要使用这个特定版本的 MySQL 客户端,或者你不想修改 PATH 环境变量,设置一个别名(alias)可能是一个更简单的选择。
-
打开你的 shell 配置文件。同样地,根据你的 shell 和 Linux 发行版,找到对应的配置文件:~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.profile 等。
-
在文件中添加一个别名。在文件的末尾,添加以下行:
shellalias mysql8='/opt/mysql/mysql-8.0.36/bin/mysql --socket=/opt/mysql/mysql-8.0.36/mysql.sock'
这会创建一个名为 mysql 的别名,当你在命令行中输入 mysql 时,实际上会调用你指定的路径下的 MySQL 客户端。
-
保存文件并重新加载配置。保存你的配置文件后,使用下面的命令使改动生效:
shellsource ~/.bashrc
之后我们可以直接使用命令 mysql8 -u root -p
来连接我们的 MySQL 服务了