centos7.9源码编译安装mysql8

编程入门 行业动态 更新时间:2024-10-12 01:23:51

1、先在浏览器搜索mysql,也可直接搜索www.mysql

浏览器下载太慢可把下载链接复制放到迅雷去加速下载。

下载完成得到mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz类似的一个压缩包。

2、将下载好的mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz(压缩包以自己实际下载版本为准)上传到自己服务器的 /usr/local/ 文件夹下面

3、检查服务器是否已经安装mysql或者mariadb,有可能服务器自带了mysql或者mariadb服务器


检查是否存在mysql或者mariadb

rpm -qa | grep mysql

rpm -qa | grep mariadb     #系统中已安装MariaDB及相关依赖包,在安装MySQL时,可能会产生版本冲突,导致MySQL无法正常工作,建议卸载。

   rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64以实际查询出来的信息为准)

删除了包之后,查看是否有残余的文件夹

卸载完成后,需要清理缓存:

yum clean all

 

find / -name mysql  

find / -name mariadb

如果存在,则删除

rm -rf  xxx xxx  xxx(xxx是文件地址,可以输入多个,直接从find / -name mysql 搜索出来的复制粘贴即可)

4、解压压缩文件,

tar -xvJf mysql-8.0.19-linux-x86_64-minimal.tar.xz (切记linux区分大小写,J必须使用大写)

如果上传的路径不在/app下面,可命令后增加-C(大写C) /app

既可。

5、删除我们压缩包,且把解压之后的文件改名为mysql

rm -rf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz  

mv mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz   mysql      (这个命令在/usr/local下执行)

6、创建一个文件夹,保存我们的数据文件等信息

mkdir -p   /app/data/mysql/data     -p参数递归创建

7、检查是否存在mysql用户和mysql组

查看组 cat /etc/group | grep mysql

查看用户 cat /etc/passwd | grep mysql

如果我们的用户和组都不存在,则创建组和用户

创建组groupadd mysql

创建用户useradd -s /sbin/nologin -r -g mysql mysql

-s:指定用户登入后所使用的shell。

-r:系统级用户

-g:所属分组为mysql

8、把data目录所属用户和组改为mysql。 chown -R mysql:mysql  /app/data (第二个mysql为用户组,-R表示递归)

chown -R  mysql:mysql /app/mysql  

9、先创建myf文件再执行初始化操作

mkdir -p /app/etc/myf.d   

touch  /app/etc/myf    创建配置文件

编辑配置文件vim  /app/etc/myf

没有vim命令的可使用 yum -y install vim,仅限centos,vi命令也可。

[client]

default_character_set=utf8                    #默认字符集
port=3306
socket=/app/data/mysql/mysql.sock

[mysqld]
!includedir /app/etc/mysql/conf.d/            #多模块参数配置
user=mysql
basedir=/app/mysql                               #安装目录
datadir=/app/data/mysql/data                     #数据存放目录
pid-file=/app/data/mysql/mysql.pid              #程序启动的pid文件
port=3306
server-id =1
socket=/app/data/mysql/mysql.sock
innodb_data_home_dir=/app/data/mysql/mysql       #告诉mysql在哪里创建InnoDB表空间
log-error=/app/data/log/mysql-log/error.log     #启动异常日志文件
slow_query_log_file=/app/data/mysql/mysql-slow.log   #指定MySQL慢查询日志文件的路径和文件名
character-set-server = utf8mb4                  #数据库默认字符集
default-storage-engine=INNODB                   #指定MySQL的默认存储引擎
collation-server = utf8mb4_general_ci           #数据库指定排序规则
init_connect='SET NAMES utf8mb4'                #设置 client 连接 mysql 时的字符集,防止乱码
innodb_data_home_dir=/app/data/mysql/mysql       #告诉mysql在哪里创建InnoDB表空间
innodb_log_group_home_dir =/app/data/mysql/data  #InnoDB 日志文件的路径
lower_case_table_names=1                      #是否对 sql 语句大小写敏感,1 表示不敏感
max_connections = 3000                        #指定mysql服务所允许的最大连接进程数
max_connect_errors = 1000                     #每个主机连接允许异常中断的次数
[mysqldump]
quick
max_allowed_packet=16M                        #可接收的最大数据包容量设为16MB

10、接下来执行初始化,/app/mysql必须在该路径执行

执行初始化之前把myf里的目录文件都必须存在,不存在就创建。

./bin/mysqld --initialize --user=root --basedir=/usr/local/mysql/ --datadir=/data/mysql/data/ (这是一个完整命令不可分割)

初始化成功如下图所示: 最后面部分就是初始密码

初始化密码复制到文本里,或者新开一个远程连接窗口方便一会复制,比较稳妥。

接着使用/app/mysql/bin/mysqld_safe启动mysql服务

vim mysqld_safe.sh    #下面是脚本内容,在/app/mysql/bin目录下执行

#!/bin/bash
./mysqld_safe   --datadir=/app/data/mysql/data/   --socket=//app/data/mysql/mysql.sock   >/app/mysqlqidong.log 2>&1  &

cd /app/mysql/bin   

./mysql -uroot -p

上图复制初始化的密码粘贴进去

没生效加上-S参数指定sock文件

 

 

11、接下来尝试使用Navicat远程连接数据库实现图形化,连接之前建议关闭防火墙或者开放3306端口,最好是开放3306端口,更符合实际工作情况。

没有修改mysql内容就会出现下面类似报错,如下所示:

在服务器上登陆mysql使用命令行执行如下语句

ALTER USER root@localhost IDENTIFIED  BY '123456';   修改默认密码

use mysql;

update user set Host='%' where user='root';

flush privileges;

show databases;

出现连接成功,既可使用Navicat进行图形化操作mysql。如下图所示:

更多推荐

centos7.9源码编译安装mysql8

本文发布于:2023-06-13 07:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1353899.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:源码

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!