MySQL 的部署
MySQL 作为一种广泛使用的关系型数据库管理系统,其部署过程对于任何希望建立可靠、高效数据库服务的团队或个人来说都至关重要,以下内容将详细介绍 MySQL 在 Linux 系统下的部署步骤,包括准备工作、安装配置、初始化及环境配置等关键环节。
准备工作
在进行 MySQL 的部署之前,首先需要完成一些基础准备工作,以 CentOS 7.9 操作系统为例,需要从 MySQL 官方网站下载相应版本的安装包,这里使用的是 MySQL 8.0.11 版本,下载完成后,将安装包上传至服务器并解压到指定文件夹中,为保证操作的顺利进行,建议使用管理员权限(root 用户)进行接下来的操作。
su root tar xvf mysql8.0.11linuxglibc2.12x86_64.tar sudo mv mysql8.0.11linuxglibc2.12x86_64 /usr/local mv mysql8.0.11linuxglibc2.12x86_64 mysql8.0.11
还需要增加一个名为 mysql 的用户组和用户,并将安装目录的所有者及所属组修改为该用户和用户组,以确保后续操作的安全性和正确性。
sudo groupadd mysql sudo useradd r g mysql mysql chown R mysql:mysql /usr/local/mysql8.0.11/
安装配置
接下来是配置文件的设置,需要创建并编辑my.cnf
文件,对 MySQL 服务进行初步配置,关键配置项包括设置编码格式、端口号、套接字文件路径以及日志文件路径等。
touch /etc/my.cnf vim /etc/my.cnf
添加如下配置内容:
[mysqld] basedir=/usr/local/mysql8.0.11 datadir=/usr/local/mysql8.0.11/data port=3306 socket=/tmp/mysql.sock character_set_server=utf8 lower_case_table_names=1 logerror=/usr/local/mysql8.0.11/data/mysql.log pidfile=/usr/local/mysql8.0.11/data/mysql.pid
注意,lower_case_table_names=1
配置项需在执行初始化前写入配置文件,否则可能导致 MySQL 无法正常启动。
在mysql8.0.11
目录下创建一个data
文件夹,用于存放数据库数据,之后,执行初始化命令:
cd mysql8.0.11 mkdir data ./bin/mysqld initialize user=mysql basedir=/usr/local/mysql8.0.11/ datadir=/usr/local/mysql8.0.11/data/
如果在初始化过程中遇到libaio.so.1
或libnuma.so.1
的错误,需要先安装相应的依赖库:
yum install libaio yum y install numactl
环境配置与启动
为了方便管理 MySQL 服务,需要将其添加到系统的服务控制文件夹内,并配置环境变量,将mysql.server
文件复制到/etc/init.d/
目录下,并编辑/etc/profile
文件添加环境变量。
cd supportfiles cp mysql.server /etc/init.d/mysql vim /etc/profile
添加以下内容:
export MYSQL_HOME="/usr/local/mysql8.0.11" export PATH="$PATH:$MYSQL_HOME/bin"
让配置文件立即生效:
source /etc/profile
至此,可以启动 MySQL 服务,并使用生成的临时密码登录以修改密码。
service mysql start mysql u root p
通过上述步骤,您应该能够成功部署 MySQL 服务,为确保部署的成功,可通过执行mysql
命令验证服务是否正常运行,并查看版本信息确认安装的版本是否正确。
FAQs
Q1: 如何检查MySQL服务是否已成功启动?
A1: 可以通过执行以下命令来检查 MySQL 服务的状态:
service mysql status
或者查看 MySQL 日志文件中是否有错误信息输出:
tail /usr/local/mysql8.0.11/data/mysql.log
Q2: 如果忘记MySQL的root密码该怎么办?
A2: 如果忘记了 MySQL 的 root 密码,需要重启 MySQL 服务并在安全模式下重置密码,具体步骤如下:
1、停止正在运行的 MySQL 服务:
```shell
service mysql stop
```
2、以不检查权限的方式启动 MySQL:
```shell
./bin/mysqld_safe skipgranttables &
```
3、登录 MySQL:
```shell
mysql u root
```
4、重置密码:
```sql
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
5、退出 MySQL 并重新启动服务:
```shell
quit
service mysql start
```
通过以上步骤,即可成功重置遗忘的 root 密码。