linux数据库mysql安装
1、检查系统参数
显示内核版本和系统架构
uname -a
X86_64
显示linux发行版
cat /etc/os-release
CentOS
2、下载合适的安装包
3、解压、移动解压文件
1、进入压缩包所在目录
2、解压
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
3、在/usr/local目录下新建mysql文件夹
4、移动解压文件夹到新建目录
mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql/mysql57
4. 创建 MySQL 用户和组
建议创建一个专门的用户和组来运行 MySQL:
sudo groupadd mysql
sudo useradd -r -g mysql mysql
6. 设置目录权限
设置 MySQL 目录的正确权限:
sudo chown -R mysql:mysql /usr/local/mysql/
7、新建文件目录并设置目录权限
1、新建文件路径存放mysqld.pid文件
mkdir /var/lib/mysql
2、设置路径可写权限
sudo chown -R mysql:mysql /var/lib/mysql
3、修改配置my.cnf(若不存在,则新建一个)
sudo vi /etc/my.cnf
将下列内容填入
[mysqld]
# MySQL服务的用户
user=mysql
# MySQL监听的端口
port=3306
# MySQL安装目录
basedir=/usr/local/mysql/mysql57
# 数据目录
datadir=/usr/local/mysql/mysql57/data
log_error=/usr/local/mysql/mysql57/data/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid
# 区分大小写
lower_case_table_names=0
[mysqld_safe]
log_error=/usr/local/mysql/mysql57/data/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid
4、先按esc,然后输入“:wq”保存退出
7、初始化数据库
cd /usr/local/mysql/mysql57
sudo bin/mysqld --initialize --user=mysql
8. 安装MySQL服务
目的是将 MySQL 的初始化脚本安装到系统的服务管理目录中,以便能够通过系统的服务管理工具(如 service
或 systemctl
)来启动、停止和管理 MySQL 服务。
使用以下命令安装MySQL的服务脚本:
sudo cp support-files/mysql.server /etc/init.d/mysql
9、启动
service mysql start
10、找到初始密码
日志中找到初始化密码log_error=/usr/local/mysql57/data/mysqld.log
grep 'temporary password' /usr/local/mysql/mysql57/data/mysqld.log
2024-08-13T10:11:25.842400Z 1 [Note] A temporary password is generated for root@localhost: ?NtTTjlao72u
11、修改my.cnf(补充,不需要则跳过)
vi /etc/my.cnf
编辑保存后,删除data文件夹
cd /usr/local/mysql57
rm -rf data/*
初始化数据库
sudo bin/mysqld --initialize --user=mysql
12、开启防火墙
开放3306端口
13、添加Path环境变量
1、检查shell类型
echo $SHELL
若为/bin/bash 表示你使用的是 Bash,则
2、编辑文件
vi ~/.bashrc
3、添加Path
export PATH=$PATH:/usr/local/mysql/mysql57/bin
将上述内容填入,退出保存文件
4、重新加载 ~/.bashrc 文件
source ~/.bashrc
14、登录并重置root密码
1、登录
mysql -u root -p
2、重置密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
15、开启mysql远程访问权限
1、登录
mysql -u root -p
2、切换到 mysql 数据库
use mysql;
3、更新
update user set host = '%' where user = 'root';
4、刷新权限
FLUSH PRIVILEGES;
5、navicat连接