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
发布评论