欢迎来到我的博客小站。  交流请加我微信好友: studyjava。  也欢迎关注同名公众号:Java学习之道

Linux安装Mysql8.0.25最新教程

  |   0 评论   |   0 浏览

Linux 安装 Mysql8.0.25最新教程

自己在服务器上安装MySQL,搜集了很多材料,但是大多时间都比较久了,最新的下载安装方式有很多不一样的地方,也踩了很多坑,于是整理了一下自己全部的安装过程,大家可以借鉴一下。

下载

在线安装

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

离线安装

先去官方网站下载安装文件, 最新的下载

MySQL下载地址

根据服务器位数选择合适安装包下载

附linux查看位数命令

getconf LONG_BIT

使用ftp工具上传安装文件。

解压

tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

后面在配置环境变量及数据库配置时,解压路径太长

修改默认文件夹名称, 我是通过ftp工具修改的, 下附命令:

mv mysql-8.0.25-linux-glibc2.12-x86_64 /home/mysql-8.0.25

详解: mv 当前文件名称 修改的文件夹名称

创建数据目录

1.创建文件夹

mkdir -p /data/mysqldata/

2 创建数据库用户 后边文件配置及初始化会用到, 如果你自己有其他用户也可以不创建新的

2.1创建用户组

groupadd mysql

2.2创建用户

useradd -r -g mysql mysql

赋权限

#chown 用户名:用户组 -R /data/mysqldata
chown mysql:mysql -R /data/mysqldata 

chmod 750 /data/mysqldata/ -R

配置环境

vim /etc/profile 
#如果你的系统不支持vim命令 使用下边这个
vi /etc/profile
#编辑,在文档最后一行 添加下边代码
export PATH=$PATH:你的MySQL解压路径/mysql-8.0.25/bin:你的MySQL解压路径/mysql-8.0.25/lib

编辑my.cnf

  1. 编辑my.cnf文件
vim /etc/my.cnf #或者 vi /etc/my.cnf
  1. 按insert 进入编辑模式 添加以下脚本
[mysql]
# 客户端默认字符集
default-character-set=utf8mb4
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
server-id=3306
user=mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/home/mysql-8.0.25 #你自己的安装路径
# 设置mysql数据库的数据的存放目录
datadir=/data/mysqldata/mysql  #你自己创建的数据库文件存放路径
log-bin=/data/mysqldata/mysql/mysql-bin
innodb_data_home_dir=/data/mysqldata/mysql
innodb_log_group_home_dir=/data/mysqldata/mysql
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
#设置mysql数据库的日志及进程数据的存放目录
log-error=/data/mysqldata/mysql/mysql.log
pid-file=/data/mysqldata/mysql/mysql.pid

初始化MySQL

cd /home/mysql-8.0.25/bin/

./mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql-8.0.25/ --datadir=/data/mysqldata/mysql --user=mysql --initialize

参数详解

  • --defaults-file=/etc/my.cnf 指定配置文件(一定要放在最前面,至少 --initialize 前面)
  • --user=mysql 指定用户(很关键)
  • --basedir=/home/mysql-8.0.25/ 指定安装目录
  • --datadir=/data/mysqldata/mysql/ 指定初始化数据目录

在这里报错:

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

出现该问题首先检查该链接库文件有没有安装使用 rpm -qa|grep libaio命令进行核查。

运行该命令后发现系统中无该链接库文件。

使用命令:yum install libaio-devel.x86_64安装。

安装成功后,继续运行数据库的初始化命令,成功后即可得到临时密码。

初始化数据库后, 会给一个临时密码, 请保存到本地, 第一次登录数据库会用到。

启动MySQL

1.复制 mysql.server 文件

cp /home/mysql-8.0.25/support-files/mysql.server /etc/init.d/mysql
cp /home/mysql-8.0.25/support-files/mysql.server /etc/init.d/mysqld

2.赋予权限

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

3.检查一下/var/lib/mysql是否存在,否进行创建

mkdir /var/lib/mysql #目录和my.cnf保持一致

4.赋予权限

目录和my.cnf保持一致

chown -R mysql:mysql /var/lib/mysql/

5.启动数据库

service mysql start 
# 或者 
systemctl mysql start

启动成功

mysql数据库设置

修改初始密码

mysql -u root -p

或者

#进入安装目录
cd /home/mysql-8.0.25/bin
# 执行命令
./mysql -uroot -p

输入保存到本地的临时密码

修改密码:

# 修改root密码 修改root用户只能本地连接;localhost换成%就是都任何ip都可以连接。
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '新密码';
#刷新权限
flush privileges;

创建用户

#创建用户任意远程访问
CREATE user 'mysql'@'%'; 
#修改密码
alter user 'mysql'@'%' identified with mysql_native_password by '新密码';

创建数据库

# create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;

create database test default character set utf8mb4 collate utf8mb4_unicode_ci;

授权

#将test库的所有权限赋予mysql用户
grant all privileges on test.* to "mysql"@"%";
#刷新权限
flush privileges;

开放服务器防火墙端口,加载生效

firewall-cmd --add-port=3306/tcp --permanent

firewall-cmd --reload

到此mysql8.0.25就安装完毕,用navicat远程测试连接:


标题:Linux安装Mysql8.0.25最新教程
作者:mmzsblog
地址:https://www.mmzsblog.cn/articles/2022/05/09/1652077674798.html
-----------------------------
如未加特殊说明,此网站文章均为原创。
若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!
网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
公众号转载请联系网站首页的微信号申请白名单!

个人微信公众号 ↓↓↓                 

微信搜一搜 Java 学习之道