我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复【资料】,即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板。

引言

众所周知,MySQL 8.x 版本做了一些比较大的改动优化,也希望大家能去了解下 MySQL 8 版本的一些新特性和优化点。工欲善其事必先利其器,那就必须要安装上 MySQL 8 版本的数据库才能体验学习,所以下面介绍如何在 Linux 服务器上安装 MySQL 8.X 版本数据库。

此次演示在 CentOS 7.x Linux 服务器上通过压缩包的方式安装 MySQL 8.x 数据库。

安装步骤

安装包官方下载地址:https://dev.mysql.com/downloads/mysql/

将下载后的压缩包上传到 Linux 服务器,解压缩。

tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

将解压后的文件夹重命名为 mysql,并且移动到 /usr/local/ 目录下。

mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql

进入到 /usr/local/mysql 目录下,创建存放数据库数据的文件夹 data

cd /usr/local/mysql/
mkdir data

在 mysql 目录下新建 tmp 文件夹,并修改文件夹的权限。

mkdir tmp
chmod 777 /tmp

创建 mysql 用户组mysql 用户,并且将 mysql 目录极其下面所有文件权限分配给 mysql 用户。

groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql/

在 mysql 目录下执行以下命令,进行数据库初始化。初始化成功之后,会打印 root 用户的临时密码,记住后面需要用到。

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

修改 mysql 的配置信息,打开 my.cnf 配置文件。

vim  /etc/my.cnf

my.cnf 配置文件的原始内容如下:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 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]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid #
# include all files from the config directory
#
!includedir /etc/my.cnf.d

将配置文件的内容修改为如下所示:

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
character-set-server=utf8
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8

将 mysql 添加到开机自启项中,复制 mysql.server 文件到 /etc/init.d/ 目录下并且重命名为 mysql,赋予运行权限,从而我们就可以使用 service mysql xx 命令进行启停 mysql 服务。

cp ./support-files/mysql.server /etc//init.d/mysql
chmod +x /etc/init.d/mysql

将 mysql 注册为服务。

chkconfig --add mysql

使用 chkconfig --list mysql 命令查看是否注册成功。

[root@chenpi mysql]# chkconfig --list mysql

Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'. mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

启动服务,并查看服务状态。

[root@chenpi mysql]# service mysql start
Starting MySQL.Logging to '/usr/local/mysql/data/chenpi.err'.
. SUCCESS! [root@chenpi mysql]# service mysql status
SUCCESS! MySQL running (1622)

将 mysql 命令软连接到 /usr/bin 用户执行目录下。

ln -s /usr/local/mysql/bin/mysql /usr/bin

连接 mysql 服务,密码输入刚才安装时生成的临时密码。

mysql -uroot -p

修改密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.02 sec)

设置允许使用 root 用户远程连接,至此,mysql 服务安装完成了。

use mysql
update user set host ='%' where user='root';
FLUSH PRIVILEGES;

退出 mysql 使用命令 exit

MySQL 8.x 新版本特性赶紧学!!Linux 服务器上安装 MySQL 8.x的更多相关文章

  1. 在阿里云Linux服务器上安装MySQL

    申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务器. 操作系统:Red Hat Enterprise Linux Server 5.4 64位. CPU:1核 内存:5 ...

  2. linux服务器上安装mysql

    mysql版本:mysql-5.6.44-linux-glibc2.12-x86_64.tar linux操作系统和版本信息: 1.检查linux服务器上是否已安全mysql [root@localh ...

  3. Linux服务器上安装MySql数据库(默认安装,密码为空),首次使用需要修改密码

    1,在/etc/my.cnf末尾  加入skip-grant-tables,保存,跳过身份验证. 2,重启MySql,使刚才修改的配置生效. 3,终端输入mysql,然后再输入use mysql; 4 ...

  4. 在Linux机器上安装MySQL

    在Linux机器上安装MySQL,仔细认真些就没有问题. CentOS 7下MySQL 5.7安装.配置与应用_数据库技术_Linux公社-Linux系统门户网站 搞不定的话,直接删掉这个MySQL, ...

  5. navicat连接不上Linux服务器上的MySQL

    1.首先确定你的linux已经关闭防火墙 详细操作点这里: 如果是公司服务器防火墙比较重要不能关闭,那就麻烦点了,需要在防火墙的配置文件下配置属性. 如果还不能解决,请继续往下看. 2.如果是云服务器 ...

  6. Linux/UNIX 上安装 MySQL

    Linux/UNIX 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连 ...

  7. 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式

    (一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...

  8. navicat突然连接不上远程linux服务器上的mysql

    我linux服务器上的mysql是docker安装的,突然有一天我的navicat连接不上服务器上的mysql,于是开始了下面一系列的修复 1.首先登录服务器上mysql,看是否能正常登录,我发现不能 ...

  9. 如何在Lunix云服务器上安装Mysql进行远程连接

    说说这个服务器上安装mysql真是一个大坑啊 ! 我也不知道自己怎么心血来潮就买一个百度云服务器,然后就想着吧自己做的一些小项目都跑上去.嘿嘿...其实就是想显摆下,写点小应用给不是编程的朋友们使用 ...

随机推荐

  1. 如何保证Qt状态机的最佳性能

    如何保证Qt状态机的最佳性能 How to ensure the best Qt state machine performance 如果您使用Qt进行应用程序开发,并且使用状态机,那么很可能您正在使 ...

  2. 实时双频Wi-Fi如何实现下一代车内连接

    实时双频Wi-Fi如何实现下一代车内连接 How real simultaneous dual band Wi-Fi enables next-generation in-vehicle connec ...

  3. adb基础命令

    adb运行原理: 启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程.如果没有,它将启动服务器进程.当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb ...

  4. JVM_ 动态链接

    虚拟机栈: -> 栈帧---对应每个方法----> 包含: 局部变量表, 本地方法栈, 动态链接, 方法出口, 动态链接: 每个栈帧都保存了 一个 可以指向当前方法所在类的 运行时常量池, ...

  5. 1、java数据结构和算法---循环队列

    直接上代码: public class CircleArrayQueueLvcai { private int[] array; private int maxSize;//循环队列大小 privat ...

  6. PageHelper--Mybatis分页插件(ssm框架下的使用)

    1.导入PageHelper依赖 <!-- MyBatis 分页插件 --> <dependency> <groupId>com.github.pagehelper ...

  7. mybatis——解决属性名和数据库字段名不一致问题(注解方式)

    当我们使用注解开发时有时会遇到数据库字段名与实体类属性名不一致的问题.xml方式开发可以通过结果集映射的方式解决,那注解方式开发要怎么解决呢? 注解解决方式: @Results()注解 Results ...

  8. .NET平台系列23:.NET Core/.NET5/.NET6 和 .NET Framework 的选择建议

    系列目录     [已更新最新开发文章,点击查看详细] 有两种支持的 .NET 实现可用于生成服务器端应用: .NET Framework .NET Core/5+,包括 .NET Core..NET ...

  9. 【C++】枚举类型(enum )

    定义枚举类型的主要目的是:增加程序的可读性.枚举类型最常见也最有意义的用处之一就是用来描述状态量.枚举类型数据的其他处理也往往应用switch语句,以保证程序的合法性和可读性.枚举值是常量不是变量,不 ...

  10. String ,StringBuffer 与S tringBuilder的区别??

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) ------------------------------------- ...