前言:
说明:本文章是在阿里云ecs上安装MySQL,即:Linux是在联网状态下。
一、安装前环境准备
1.查看MySQL应用是否已存在
rpm -qa |grep mysql
说明:若返回空信息,就说明当前环境没有安装MySQL。
2.查看mariadb是否已存在
rpm -qa | grep mariadb
说明:若返回空信息,就说明当前环境没有安装Mariadb。
3.查看系统磁盘是否够用
df -lh
[root@iZbp15nia15xpkq7pshpu0Z /]# df -lh
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 1.8G 452K 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/vda3 80G 4.3G 76G 6% /
/dev/vda2 100M 7.3M 93M 8% /boot/efi
tmpfs 363M 0 363M 0% /run/user/0
通过上述命令可以看出根目录空间比较充足(76G)。
二、去官网查看需要安装的版本
MySQL官网:https://dev.mysql.com/downloads/mysql/
2.1 根据系统选择相应的安装包:
- 不知道linux系统机构的,可以执行如下命令查看系统处理器架构
uname -m
- 若不知道自己的系统信息,可以执行如下命令:
cat /etc/os-release
- 选中需要安装的资源地址https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz
2.2 用wget命令下载MySQL安装包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz
三、安装和配置MySQL应用
3.1 解压文件
tar -xvf mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz
3.2 移动文件到/usr/local/mysql路径下
mv mysql-8.4.0-linux-glibc2.28-x86_64 /usr/local/mysql
- 当/usr/losal/msyql路径不存在时,会自动创建
3.3 创建data目录,存储MySQL数据
cd /usr/local/mysql
mkdir data
# MySQL错误日志路径
mkdir data/error
# 日志文件
touch data/error/mysql.log
# 临时文件
mkdir data/tmp
3.4 创建用户并添加用户组
- 保证Linux系统文件的用户隔离和安全性。
groupadd mysql # 创建mysql用户组
useradd -g mysql mysql # 创建用户mysql,并指定用户的组
3.5 为mysql用户分配文件权限
chown -R mysql:mysql /usr/local/mysqlchmod 750 /usr/local/mysql/data
- 查看/usr/local/mysql文件权限
ll -al /usr/local/msyql
3.6 修改or创建mysql的配置文件
vim /etc/my.cnf
- 输入以下内容
[mysqld]
bind-address=0.0.0.0
# 端口
port=3306
# 用户
user=mysql
# mysql根路径
basedir=/usr/local/mysql
# mysql数据路径
datadir=/usr/local/mysql/data[mysqld_safe]
# 会话信息
socket=/usr/local/mysql/data/tmp/mysql.sock
# 错误日志路径
log-error=/usr/local/mysql/data/error/mysql.log
# 进程存放路径
pid-file=/usr/local/mysql/data/mysql.pid#character config
# 服务编码格式
character_set_server=utf8mb4
# symbolic-links=0为是否支持符号链接,即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录,为0不开启
symbolic-links=0
# 对column属性是timestamp的处理模式,默认OFF
explicit_defaults_for_timestamp=ON# 关闭MySQL的only_full_group_by模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#忽略表名大小写
lower_case_table_names=1
[client]
# 客户端默认编码格式
default-character-set=utf8mb4
socket=/usr/local/mysql/data/tmp/mysql.sock
3.7 创建mysql-server服务
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
/etc/init.d 目录通常用于存放启动脚本,这些脚本用于管理系统服务的启动、停止和重启。
- 授权授权以及添加服务
chmod +x /etc/init.d/mysqlchkconfig --add mysql
- 检查mysql服务是否生效
chkconfig --list mysql
3.8 数据库初始化
- 切换到/usr/local/mysql/bin目录下
cd /usr/local/mysql/bin
- 执行数据库初始化命令
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize
保存好初始密码。
四、环境配置与服务启动
4.1 配置MySQL全局变量
- 编辑配置文件
vim /etc/profile.d/mysql_home.sh
写入下面参数配置,:wq!保存退出。
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH
- 设置环境变量立即生效使用source /etc/profile命令。
4.2 启动MySQL服务
service mysql start
- 查看MySQL服务进程
ps -ef|grep mysql
五、修改密码
5.1 使用上述初始化是的原始密码,登录MySQL服务
mysql -uroot -p
- 修改mysql数据库密码,注意:此处123456修改为自己的需要密码即可。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
5.2 刷新权限配置&退出
flush privileges;exit;
5.3 验证使用修改后的密码登录
- 重启MySQL服务
service mysql restart
- 新密码登录验证通过
六、设置远程登录
6.1 切换到mysql数据库
use mysql;
6.2 设置允许远程访问
update user set host='%' where user='root';
6.3 刷新权限配置&退出
flush privilege;exit;
6.4 远程连接验证
- 这里是通过DataGrip工具进行的远程连接测试,当然,navicat也是一个常用的数据库连接工具。