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查看位数命令
使用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
#赋权限
2. chown mysql:mysql -R /data/mysqldata #chown 用户名:用户组 -R /data/mysqldata
3. 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
#2. 按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
1. cd /home/mysql-8.0.25/bin/
2. ./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/ 指定初始化数据目录
初始化数据库后, 会给一个临时密码, 请保存到本地, 第一次登录数据库会用到
启动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.赋予权限
chown -R mysql:mysql /var/lib/mysql/ #目录和my.cnf保持一致
# 5.启动数据库
service mysql start #或者 systemctl mysql start
启动成功
mysql数据库设置
修改初始密码
或者
#进入安装目录
cd /home/mysql-8.0.25/bin
# 执行命令
./mysql -uroot -p
输入保存到本地的临时密码
修改密码
# 修改root密码 修改root用户只能本地连接
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 test default character set utf8mb4 collate utf8mb4_unicode_ci;
#create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;
授权
#将test库的所有权限赋予mysql用户
grant all privileges on test.* to "mysql"@"%";
#刷新权限
flush privileges;
检查
使用navicat测试数据库是否正常连接
扩展(MySQL开机自启动)
#1.查看是否有mysql服务
chkconfig --list
#2.进入mysql软件目录,复制mysql.server文件到 /etc/rc.d/init.d目录下
cp /home/mysql-8.0.25/support-files/mysql.server /etc/rc.d/init.d/mysql
#3.给/etc/rc.d/init.d/mysql赋权可执行权限
chmod +x /etc/rc.d/init.d/mysql
#4.添加mysql服务
chkconfig --add mysql
#5.使mysql服务开机自启
chkconfig --level 345 mysql on
#6.查看MySQL服务 ,重启服务器,测试是否成功。
chkconfig --list
添加成功
更多关于mysql的相关教程请点击专题: 《mysql不同版本安装教程》
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- Linux下MySQL多实例部署及安装指南
- 一台linux主机启动多个MySQL数据库的方法
- linux mysql5.5升级至mysql5.7的步骤与踩到的坑
- 解决Linux安装mysql 在/etc下没有my.cnf的问题
- linux下利用Docker安装mysql的步骤
- Linux手动部署远程的mysql数据库的方法详解
- linux使用mysqldump+expect+crontab实现mysql周期冷备份思路详解
- Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
- Mysql如何在linux中实现定时备份
- Linux mysql-5.6如何实现重置root密码
- 在Ubuntu/Linux环境下使用MySQL开放/修改3306端口和开放访问权限
- MySQL定时备份方案(利用Linux crontab)
- linux环境下安装mysql数据库的详细教程
- Linux下mysql异地自动备份的方法
- Linux MySQL忘记root密码解决方案
- Linux下安装mysql-8.0.20的教程详解
- Linux如何使用 MyCat 实现 MySQL 主从读写分离