首页 > 数据库 >Linux下安装配置MySQL8服务器

Linux下安装配置MySQL8服务器

时间:2024-10-28 12:20:25浏览次数:4  
标签:MySQL8 local Linux mysql8 mysql MySQL 服务器 root

Linux下安装配置MySQL8服务器

在centos7中如果安装mysql的话,一般首先要卸载掉mariadb,删掉/ect/my.cnf等文件。

一、安装环境

OS:centos7.9

MySQL:mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz

安装目录:/usr/local/mysql8
用root用户安装。
安装目录规划:
/usr/local/mysql8
|----mysql-8.0.40-linux-glibc2.28-x86_64
|----mysql ->mysql-8.0.40-linux-glibc2.28-x86_64
|----data

二、安装步骤

1、解压安装包
[root]#cd /usr/local
[root]#mv /path/to/mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz .
[root]#tar -xJf mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz
[root]#mkdir mysql8
[root]#mv mysql-8.0.40-linux-glibc2.28-x86_64 mysql8/
[root]#cd mysql8
[root]#ln -s mysql-8.0.40-linux-glibc2.28-x86_64 mysql

以上步骤之后,就将mysql安装到/usr/local/mysql8目录中了。

2、创建数据目录data和配置文件my.cnf
创建数据目录data
[root]#cd /usr/local/mysql8
[root]#mkdir data
创建配置文件my.cnf
[root]#cp /usr/local/mysql8/mysql/support-files/my-default.cnf /etc/my.cnf
[root]#vi /etc/my.cnf
在其中设置:
[mysqld]
basedir = /usr/local/mysql8/mysql
datadir = /usr/local/mysql8/data
port = 3306

3、添加bin到path环境变量
在/etc/profile中添加以下内容:
export PATH=/usr/local/mysql8/mysql/bin:$PATH
保存退出,之后source /etc/profile

4、创建mysql用户和mysql用户组
[root]#groupadd mysql
[root]#useradd -r -s /bin/false -g mysql mysql
这句话的意思是创建一个 -r 系统用户, -s值得它的shell,是不用登陆的shell。

5、初始化数据目录
这条命令的作用是初始化mysql中初试的数据库,比如mysql库,information_schema, performance_schema, sys等四个库。
[root]#bin/mysqld --user=mysql --basedir=/usr/local/mysql8/mysql --datadir=/usr/local/mysql8/data --initialize-insecure
在Ubuntu16.04上执行这条命令的时候,会提示系统没有libaio.so.1这个动态链接库,这时候需要apt-get install libaio-dev,安装完成后,就可以正常初始化数据目录了。
这条命令执行后会初始化数据目录 data,同时,由于指定了 --initialize-insecure选项,所以初始化后,不会对root用户设置随机的密码。
mysql一般初始化数据目录的时候,会给root设置一个随机密码,这样要记住第一登录以后,可以自己设置自己想设置的密码,这里为了方便就不让它自己生成随机密码了,一会儿第一次登录的时候,自己设置密码。

6、启动mysql数据库服务器
[root]#cd /usr/local/mysql8/mysql
[root]#bin/mysqld_safe --user=mysql &

7、登录mysql服务器并修改root用户密码
下面用mysql的命令来为root用户设置密码:
[root]#cd /usr/local/mysql8/mysql
[root]#mysql -uroot --skip-password
mysql>set password for 'root'@'localhost' = password(‘123456’); #设置root密码为123456
mysql>quit;
设置root密码还有很多其他的方法。
如下是另一种,这种方法是使用SQL语言中的update语句去更新系统数据库mysql中user表:
mysql>use mysql;
mysql>update user set password=password('123456') where user='root';
mysql> flush privileges;
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。

这样mysql服务器就安装好了,可以登录mysql服务器,执行一些基本命令来验证服务器。

以下两步是做额外的设置。
8、添加root用户的远程访问权限
为什么要添加root用户的远程访问权限呢?因为默认情况下,mysql系统是不允许root用户从远程登录的,只允许root用户从本地登录,为了方便管理,这才要给加添root的远程权限。
[root]#mysql -uroot -p
mysql>grant all privileges on . to root@'%' identified by '123456'; #允许远程以root用户操作所有的数据库
mysql>flush privileges;
mysql>quit;

9、设置mysql服务器开机自启动
[root]#cp /usr/local/mysql8/mysql/support-files/mysql.server /etc/init.d/mysqld
[root]#vi /etc/init.d/mysqld
打开mysqld文件,往其中的basedir和datadir中输入正确的路径。
basedir=/usr/local/mysql8/mysql
datadir=/usr/local/mysql8/data

设置开机自启动

[root]#chkconfig --add mysqld
[root]#chkconfig --level 345 mysqld on

这样就配置好了mysql服务器。这样配置的服务器可以开机之后自己启动在后台运行,可以通过远程客户端使用root用户来管理。

三、连接MySQL服务器

TCP/IP方式(可以用于远程连接、也可以用于本地连接):
mysql -uroot -poldboy123 -h 10.0.0.51 -P3306
Socket方式(只能用于本地连接):
mysql -uroot -poldboy123 -S /tmp/mysql.sock

本地连接服务器,既可以用tcp/ip方式,也可以使用socket方式,而远程连接服务器,因为客户端是在远程,所以只能用tcp/ip的方式。
连接MySQL服务器有两种方法:本地连接和远程连接。

1、本地连接
本地连接,也叫SOCKET连接,指的是在MySQL服务器所在的机器上通过socket文件创建的连接。通常要检查MySQL服务器状态时,就可以登录到MySQL服务器所在的机器,通过本地连接的方式连接到MySQL服务器,去检查MySQL服务器的状态。或者在应用开发过程中,应用和MySQL部署在同一台机器上,这时候连接MySQL服务器就可以通过本地连接的方式进行。
$mysql -S/tmp/mysql.sock -uroot -p #mysql服务器启动后一般在/tmp目录下创建一个mysql.sock的socket文件,当然如果一般情况在本地的话,连接的时候可以省去-S。

2、远程连接
远程连接,也叫TCP/IP连接,指的是从MySQL服务器以外的服务器或客户端连接MySQL服务器的方式。远程连接和本地连接唯一的区别就是,远程连接需要指定MySQL服务器的IP地址和它监听的端口号。通过,当MySQL服务器和应用服务器部署在不同的服务器上的时候,就需要从应用服务器远程连接到MySQL服务器上去操作MySQL服务器。
$mysql -h127.0.0.1 -P3306 -uroot -p

标签:MySQL8,local,Linux,mysql8,mysql,MySQL,服务器,root
From: https://www.cnblogs.com/zhangzl419/p/18510214

相关文章

  • linux 内核 LINUX_VERSION_CODE 和 KERNEL_VERSION 宏定义 版本信息
    由于Linux版本的在不断更新,当设备驱动去兼容不同版本的内核时,需要知道当前使用的内核源码版本,以此来调用对应版本的内核API,这两个宏定义在文件/usr/include/linux/version.h#defineLINUX_VERSION_CODE263213#defineKERNEL_VERSION(a,b,c)(((a)<<16)+((b)<<8)+(c))我安......
  • 最便宜vps服务器,racknerd便宜至1核1G年付仅需10块
    RackNerd是什么?  今天要介绍是一家云服务公司,叫做RackNerd,已经成立很多年了,也是一家老牌公司。这家公司主要提供虚拟主机、便宜VPS服务器和独立服务器等产品,以及经营代托管业务,主要特点是非常便宜,价格实惠性价比高,在海外有几个机房,所以RackNerd可以作为个人建站极好的选择。......
  • Linux C语言实现日志模块小玩具
    有时候在调试编写程序的时候日志打印模块是必不可少的,今天我们在Linux下用C语言实现一个模块化的日志demo小玩具一、一共有以下几个文件:1).模块功能的代码实现c文件--log.c2).可供引用的头文件--log.h自行创建include文件夹放下面即可3).makefile文件--Makefile......
  • samba服务器
    Samba是连接Linux与Windows的桥梁,真是由于Samba的出现,我们才可以在Linux和Windows间互相通信。1、Samba服务器配置的工作流程(1)编辑主配置文件smb.conf,指定需要共享的目录,并未共享目录设置共享权限。(2)在smb.conf文件中指定日志文件名称和存放路径。(3)设置共享目录的本地系统权......
  • Pycharm专业版远程连接服务器训练模型以及注意事项
    本文主要讲解租用AutoDL远程服务器、Pycharm远程连接服务器、上传代码、模型训练以及注意事项。第一次租用后,会发现这个过程很简单,希望帮到你!多余的话没有,跟着步骤来就可以啦!(*^▽^*)导航    1.租用服务器    2.Pycharm远程连接    3.上传代码  ......
  • Linux驱动开发 Linux内核中断机制介绍
    Linux内核的中断机制是操作系统核心部分之一,它负责在硬件设备发出中断请求(IRQ)时快速响应、处理,并在需要时延迟部分工作。中断机制的设计考虑了效率、并发性、实时性等要求,以确保系统能够稳定地处理外部设备的请求。1.中断的基本原理中断是一种硬件机制,允许设备向CPU发......
  • 【已解决,含泪总结】非root权限在服务器Ubuntu18.04上配置python和torch环境,代码最终成
    配置torch环境pip升级因为一些包安装不成功可能和pip版本有关,所以先升级pip吸取之前python有多个版本的经验,所以我指定了Python版本的pip进行升级就是python3.8版本:/home/某某/Python3.8/bin/python3.8(要换成你实际的python位置)/home/某某/Python3.8/bin/python3.8-......
  • 买了个mini主机当服务器
    虽然有苹果的电脑,但是在装一些软件的时候,从想着能不能有一个小型的服务器,免得各种设置什么帮我强各种别的导致Mac出现各种的异常,整体上的话去看了一些小的主机,看过苹果的MV迷你Mac,但是发现是太贵了,大概要3000多,特别是要是是骄傲的话是需要需要大概3000多,然后32岁的话就更贵了,所以......
  • 如何解决Linux服务器上的网络连接重置问题
    ​在Linux服务器的运维过程中,网络连接重置是一个常见的问题。要解决此问题,我们需要遵循以下步骤:1.诊断问题来源;2.检查防火墙规则;3.考察网络配置;4.验证软硬件设置;5.探索外部因素。首先,要确定网络连接重置的原因,只有找到原因才能进行针对性的解决。1.诊断问题来源当我们遇到网......
  • linux学习day2——shell脚本
    shell语法概论注释变量默认变量数组expr命令read命令echo命令printf命令test命令与判断符号[]判断语句循环语句函数exit命令文件重定向引入外部脚本1.shell语法——概论概论shell是我们通过命令行与操作系统沟通的语言。shell脚本可以直接在命令行中执行,也......