Linux安装Mysql8.0

本案例为linux安装mysql8.0.27
若非新服务器可先查看是否已安装mysql,若已安装先进行卸载。

1、Linux查看glibc版本信息,下载相应的MYSQL

ldd --version

在这里插入图片描述
2、mysql下载

https://downloads.mysql.com/archives/community/

在这里插入图片描述
3、安装

linux打开目录:

cd /usr/local
mkdir mysql
cd mysql

下载mysql:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.17-x86_64-minimal.tar.xz

解压:

tar -xf mysql-8.0.27-linux-glibc2.17-x86_64-minimal.tar.xz

在这里插入图片描述

创建data文件夹:

创建data文件夹 储存文件

在这里插入图片描述

创建mysql组

groupadd mysql

创建mysql组,再创建mysql用户并将mysql用户添加到组中

useradd -g mysql mysql

在这里插入图片描述
提示之前已创建过。

授权

将mysql文件夹的所有者和所有组都改为mysql

chown -R “mysql组名”.“mysql用户名” “mysql安装根目录”
chown -R mysql.mysql /usr/local/mysql/mysql-8.0.27-linux-glibc2.17-x86_64-minimal

mysql初始化:

进入bin目录执行mysqld文件进行初始化,Linux中的MySQL默认区分表名大小写,那么不区分大小需要在数据库初始化时设置
[--lower-case-table-names=1],不然初始化后,在配置文件在设置重启时是会报错的。

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0.27-linux-glibc2.17-x86_64-minimal --datadir=/usr/local/mysql/mysql-8.0.27-linux-glibc2.17-x86_64-minimal/data/ --lower-case-table-names=1 --initialize

在这里插入图片描述
初始化完成生成初始密码huC.lE:kY41Z

编辑配置文件my.cnf:

如果没有 my.cnf 文件就通过命令 touch /etc/my.cnf 创建一个

在这里插入图片描述

赋予权限编辑文件

sudo vi /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
#mysql安装根目录
basedir=/usr/local/mysql/mysql-8.0.27-linux-glibc2.17-x86_64-minimal
#mysql数据文件所在位置
datadir=/usr/local/mysql/mysql-8.0.27-linux-glibc2.17-x86_64-minimal/data
#设置socke文件所在目录
socket=/tmp/mysql.sock
#MySQL8.0 要求 lower-case-table-names 在数据库初始化和启动时的值必须一致
lower_case_table_names=1
#log-error=/usr/local/mysql/mysql.log
#pid-file=/usr/local/mysql/mysql.pid
#character config
#数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character_set_server=utf8mb4

#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci

#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4

# 时间戳的默认显示值
# explicit_defaults_for_timestamp=true

==========若有配置文件:

在这里插入图片描述

缺少相应目录或文件,启动会失败,新建目录或文件后记得赋权限:

chown -R mysql:mysql /var/log/mariadb/

chown -R mysql:mysql /var/run/mariadb/

添加mysqld服务到系统

切换到mysql-8.0.27目录下:

cd /usr/local/mysql/mysql-8.0.27-linux-glibc2.17-x86_64-minimal

cp -a ./support-files/mysql.server /etc/init.d/mysql

授权、添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

启动mysql

service mysql start

在这里插入图片描述

查看状态:

service mysql status

将mysql命令添加到系统指令:在任何目录下执行 mysql -uroot -p 进行登录

ln -s /usr/local/mysql/mysql-8.0.27-linux-glibc2.17-x86_64-minimal/bin/mysql /usr/bin

登录mysql

密码为前面随机生成的密码:

mysql -uroot -p

修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'XXXXX';

密码立即生效:

flush privileges;

开启远程权限:

%表示开启远程权限

use mysql;
update user set host='%' where user='root';
flush privileges;

退出mysql:

\q

查看mysql是否开机启动

chkconfig --list

在这里插入图片描述
如果 mysql服务的 第3、4、5项都是开着的,则已经开启了开机启动,反之则没有。

如果没有,可以用命令设置开机自启动:

systemctl enable mysqld.service

防火墙状态:

systemctl status firewalld

在这里插入图片描述

Linux虚拟机防火墙开放端口号3306,实现MySQL远程连接

查看3306端口状态

firewall-cmd --zone=public --query-port=3306/tcp

在这里插入图片描述
如果是no,表示关闭,打开3306端口

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

防火墙重载:

firewall-cmd --reload

再次查看3306端口状态:

firewall-cmd --zone=public --query-port=3306/tcp

在这里插入图片描述

去navicat测试连接,输入ip和root账户密码,即可成功!

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值