Linux安装Mysql8.0.25最新教程
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
离线安装
先去官方网站下载安装文件, 最新的下载
根据服务器位数选择合适安装包下载
附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
- 编辑my.cnf文件
vim /etc/my.cnf #或者 vi /etc/my.cnf
- 按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
如未加特殊说明,文章均为原创,转载必须注明出处。均采用CC BY-SA 4.0 协议!
本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!文章观点不代表本网站立场,如需处理请联系首页客服。• 网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
• 公众号转载请联系网站首页的微信号申请白名单!