创建 MySQL 用户组和用户
-
创建 MySQL 用户组:
1groupadd mysql # 创建名为 mysql 的用户组
-
创建 MySQL 用户并将其加入到 mysql 组:
1useradd -g mysql mysql # 创建名为 mysql 的用户,并将其加入到 mysql 组
-
设置密码:
1passwd mysql # 设置 mysql 用户的密码
创建 MySQL 数据目录
-
创建 app 目录:
1cd / # 进入根目录 2mkdir app # 创建 app 目录
-
创建 db 目录:
1mkdir db # 创建 db 目录
-
进入 app 目录并创建 mysql 子目录:
1cd /app # 进入 app 目录 2mkdir mysql # 创建 mysql 子目录
-
解压 MySQL 二进制包:
1cd /app/mysql # 进入 mysql 目录 2tar -Jxvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz # 解压 MySQL 二进制包
-
重命名解压后的目录:
1mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql8 # 重命名解压后的目录为 mysql8
-
创建数据目录:
1mkdir mysql8_data # 创建数据目录
-
更改目录所有权:
1chown -R mysql:mysql /app/mysql/mysql8_data # 更改 mysql8_data 目录的所有权给 mysql 用户和组 2chown -R mysql:mysql /app/mysql/mysql8 # 更改 mysql8 目录的所有权给 mysql 用户和组 3chown -R mysql:mysql /app/mysql # 更改 app/mysql 目录的所有权给 mysql 用户和组
初始化 MySQL 数据库
-
进入 MySQL 二进制目录的 bin 子目录:
1cd /usr/local/mysql8/bin # 进入 MySQL 二进制目录的 bin 子目录
-
初始化 MySQL 数据库:
1./mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/app/mysql/mysql8 --datadir=/app/mysql/mysql8_data/mysql --user=mysql --initialize-insecure # 使用指定的配置文件初始化 MySQL 数据库
修改配置文件
- 编辑 my.cnf 配置文件:
1[mysql] # MySQL 客户端配置 2# ..... 3default-character-set=utf8mb4 # 设置客户端的默认字符集为 utf8mb4 4 5[client] # MySQL 客户端配置 6port = 3306 # 设置 MySQL 客户端的连接端口为 3306 7socket = /var/lib/mysql/mysql.sock # 设置 MySQL 客户端连接的套接字文件路径 8 9[mysqld] # MySQL 服务器配置 10port = 3306 # 设置 MySQL 服务器监听的端口为 3306 11server-id = 3306 # 设置 MySQL 服务器的 ID 12user = mysql # 设置 MySQL 服务器运行时使用的用户 13socket = /var/lib/mysql/mysql.sock # 设置 MySQL 服务器使用的套接字文件路径 14basedir = /app/mysql/mysql8 # 设置 MySQL 服务器的基础目录 15datadir = /app/mysql/mysql8_data/mysql # 设置 MySQL 服务器的数据目录 16log-bin = /app/mysql/mysql8_data/mysql/mysql-bin # 设置 MySQL 二进制日志的路径 17innodb_data_home_dir =/app/mysql/mysql8_data/mysql # 设置 InnoDB 数据文件的主目录 18innodb_log_group_home_dir =/app/mysql/mysql8_data/mysql # 设置 InnoDB 日志文件的主目录 19# ............ 20log-error =/app/mysql/mysql8_data/mysql/mysql.log # 设置 MySQL 错误日志的路径 21pid-file =/app/mysql/mysql8_data/mysql/mysql.pid # 设置 MySQL 服务器的 PID 文件路径
修改 MySQL 服务脚本
- 编辑 mysql.server 文件:
1basedir=/app/mysql/mysql8 # 设置 MySQL 服务器的基础目录 2datadir=/app/mysql/mysql8_data/mysql # 设置 MySQL 服务器的数据目录 3mysqld_pid_file_path=/app/mysql/mysql8_data/mysql/mysql.pid # 设置 MySQL 服务器的 PID 文件路径 4conf=/usr/local/etc/my.cnf # 设置 MySQL 服务器的配置文件路径
启动 MySQL 服务器
- 启动 MySQL 服务器:
- 通常情况下,MySQL 服务器的启动命令如下:
1systemctl start mysqld # 使用 systemctl 启动 MySQL 服务
- 如果您使用的是非标准的启动脚本,可能需要根据您的配置来启动 MySQL 服务。
- 在您的情况下,如果使用的是
mysqld_safe
或者mysqld
直接启动,可以使用类似下面的命令:
或者1/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf & # 使用 mysqld_safe 启动 MySQL 服务
1/usr/local/mysql8/bin/mysqld --defaults-file=/usr/local/etc/my.cnf & # 直接使用 mysqld 启动 MySQL 服务
- 通常情况下,MySQL 服务器的启动命令如下:
最后发现了一个问题:就是 登录mysql的时候报错,报什么密钥之类的错误。原因是 linux自带的一个数据库会有影响,需要到安装的mysql/bin目录下使用./mysqld -u 进行登录。