环境准备关闭防火墙systemctl stop firewalld深度防火墙修改成disablevi /etc/selinux/config#改完要重启 reboot修改域名符合FQDN规范主机名公司域名MySQL的下载上传Windows去官网下载得到一个压缩包Linux这边安装一个工具rz选择windows机的目录上传到Linux机dnf install -y lrzszMySQL的解压安装创建一个管理软件的目录安装包移动过来mkdir -p /export/software mv mysql-8.0.43-linux-glibc2.28-x86_64.tar.xz /export/software进入目录下解压到当前路径安装包和解压后的东西在同一路径#解压安装包 显示过程 tar -xvf mysql-8.0.43-linux-glibc2.28-x86_64.tar.xz把解压出来的文件夹重命名成mysql更短好记mv mysql-8.0.43-linux-glibc2.28-x86_64 mysql看一下以前有没有安装过依赖包啥的然后给删了rpm -qa | grep mysql rpm -qa | grep mariadb rm -rf /etc/my.cnf dnf list installed | grep mysql dnf list installed | grep mariadb dnf clean all然后再来装依赖包yum install libaio -yid mysql创建一个数据库专用账号mysql其所属组也为mysqluseradd mysql -r -s /sbin/nologin#后面的路径是解压后的MySQL在的路径 chown -Rf mysql:mysql /export/software/mysql创建mysql和修改所属组和所属用户的这个步骤一定要在初始化之前安装后的配置初始化数据库初始化数据库可以实现数据库的初始化而且会产生一个随机密码# 注意:这个日志文件尽量在创建之前,先查看一下路径,是否已经有这个同名的日志,如果有,先删掉/export/software/mysql/bin/mysqld --initialize --usermysql --basedir/export/software/mysql--initialize 初始化真正开始干活--usermysql 以mysql用户的身份初始化数据库产生文件都是mysql作为拥有者--basedirxxx mysql其安装目录非常重要把初始化的所有输出包括临时密码写入/tmp/mysqld.log后面可以直接用cat /tmp/mysqld.log查看日志查看初始化密码cat /tmp/mysqld.log | grep temporary password修改密码修改密码前需要启动服务启动服务前 配置一个环境变量把 MySQL 的bin目录永久加入系统环境变量让你在任何目录下都能直接敲mysql、mysqldump这些命令不用每次都写/export/software/mysql/bin/mysql这种全路径#配置环境变量 echo export PATH/export/software/mysql/bin:$PATH /etc/profile source /etc/profile #启动 /export/software/mysql/bin/mysqld_safe --usermysql 用临时密码登录mysql -uroot -pyrw6toILcp.i修改密码-- 注意密码要符合复杂度要求大小写、数字、特殊符号 ALTER USER rootlocalhost IDENTIFIED BY 你的新密码;验证密码重新登录exit mysql -uroot -p你的新密码配置my.cnfmy.cnf 是MySQL 的全局配置文件相当于给 MySQL 写了一份 “启动说明书”里面写了 MySQL 启动时要用到的关键参数比如basedirMySQL 的安装目录datadir数据文件存放目录socket客户端和服务端通信的套接字文件character_set_server默认字符集这里设置成了utf8mb4支持 emoji核心作用统一配置每次启动 MySQL 时它会自动读取这个文件里的参数不用你每次都在命令行里手动写--basedir、--datadir这些参数。持久生效配置写在文件里重启服务器或重启 MySQL 后设置依然有效。方便管理比如修改端口、字符集、最大连接数这些直接改配置文件就行不用修改启动命令。退出MySQL 把MySQL服务关了pkill mysqldvim /etc/my.cnf# 1. [mysqld] # 这是配置块标记告诉 MySQL下面所有配置都是给「服务端进程 mysqld」用的 [mysqld] # 2. basedir/export/software/mysql # MySQL 的安装根目录也就是你解压后放文件的地方 # MySQL 启动时会在这里找 bin/mysqld、lib 等核心文件 basedir/export/software/mysql # ️ 3. datadir/export/software/mysql/data # MySQL 的数据目录所有数据库、表、日志文件都存在这里 # 你初始化数据库时生成的文件全在这个目录里 datadir/export/software/mysql/data # 4. socket/tmp/mysql.sock # 本地客户端和服务端通信的“桥梁文件” # 你用 mysql -uroot -p 登录时就是通过这个文件和 MySQL 建立连接的 # 没有它会报错Cant connect to local MySQL server through socket socket/tmp/mysql.sock # 5. character_set_serverutf8mb4 # MySQL 服务端的默认字符集设置为 utf8mb4 # 它是 utf8 的超集支持所有中文、emoji 表情避免存中文变成乱码或问号 character_set_serverutf8mb4 # 6. collation-serverutf8mb4_unicode_ci # 字符集的“校对规则”决定字符串怎么比较、排序 # utf8mb4_unicode_ci 表示不区分大小写兼容多语言适合绝大多数场景 collation-serverutf8mb4_unicode_ci# 用配置文件启动MySQL mysqld_safe --defaults-file/etc/my.cnf --usermysql # 验证端口是否监听 netstat -pantul | grep mysqlnetstat 查看系统网络连接、端口监听状态的工具-pantul 组合参数--p显示哪个进程在占用端口-a显示所有连接包括监听和非监听-n用数字显示端口不解析域名更快-t只显示 TCP 协议的连接-u只显示 UDP 协议的连接-l只显示正在监听的端口:::3306表示 MySQL 正在监听 3306 端口LISTEN状态说明服务正常正在等待连接同时还有33060端口这是 MySQL 8.0 自带的 X 协议端口不影响正常使用