首页 > 数据库 >Linux MySQL安装和配置

Linux MySQL安装和配置

时间:2023-11-27 17:12:41浏览次数:53  
标签:Linux server yum mysql MySQL mysqld 安装

包管理器安装 MySQL

使用包管理器安装MySQL过程很简单,但是也存在一个问题,就是只能使用源里面提供的MySQL版本,相ubuntu2004的源就只提供了8.0版本的MySQL,如果要装5.7版本就没法装。

ubuntu

1、配置APT源

ubuntu自己的APT源里面就有MySQL,以ubuntu2004为例,可以直接用相关源就行了,也可以导入MySQL的官方源。


使用apt policy查看即可看到源中可以安装的版本信息,ubuntu2004默认安装的MySQL版本是 8.0.35 版本,ubuntu1804默认安装的是MySQL5.7.42版本。

apt policy mysql-server

2、安装MySQL

# 相关客户端工具会作为依赖被安装

sudo apt install mysql-server

说明: 安装过程中会有弹框提示输入本地使用socket登录mysql的密码信息。

centos

以为CentOS7为例,CentOS7的yum源中没有MySQL。因为在 MySQL 被甲骨文公司(Oracle)收购后,社区对 MySQL 的开源未来感到担忧。

由于这种担忧和对 Oracle 商业政策的不确定性,Red Hat(CentOS 的主要支持者之一)决定在其发行版中用 MariaDB 替换 MySQL。

Red Hat 做出这一决策是为了确保其发行版中提供的数据库解决方案能够继续保持开放和自由。所以要想让Centos7在线安装MySQL,需要配置官方的yum源才行。

1、配置yum源

下载地址:https://dev.mysql.com/downloads/repo/yum/

rpm -ivh mysql80-community-release-el7-11.noarch.rpm

yum clean all

yum makecache

2、安装 MySQL

yum源配置好后,直接安装就行了。这里有个问题就是 使用 yum --showduplicates list mysql-server 没法列出mysql的版本信息。

因为正确的名称是 mysql-community-server,但是使用yum install 的时候,这个软件包有一个别名叫作mysql-server。

# 相关客户端工具会作为依赖进行安装

yum install mysql-server

包管理器卸载 MySQL

ubuntu

1、删除软件包及相关文件

使用apt的puge选项,不仅会删除软件包,还会删除软件包的配置文件和数据

sudo apt purge mysql-server

这个步骤只是把mysql-server给删除了,但是APT 只会卸载 mysql-server 包本身及其配置文件。安装mysql-server自动安装的一些依赖包,不会在mysql-server删除的时候自动移除。

2、删除其它相关组件

现在主依赖包已被删除。为了移除这些不再需要的包,需要执行 sudo apt autoremove 命令。这个命令将自动删除所有不再被任何已安装软件包所需的软件包。

sudo apt autoremove

通过以上步骤就可以把mysql给全部移除,这样下载再安装mysql就不会有冲突了。

centos

centos和ubuntu就有所不同了,YUM 没有 purge 命令,所以需要使用 yum remove指令移除软件包,同时未被其他包依赖的依赖通常会一同被移除。

使用 yum remove指令不会移除配置文件还有数据目录,需要自己手动删除才行。

1、移除mysql

yum remove mysql-server

2、移除其它相关依赖

因为虽然使用 yum remove命令时,YUM 会自动移除指定的软件包以及由于依赖它而安装的包。

这意味着,如果其他软件包没有依赖这些额外安装的包,它们也会被移除。但是有些时候系统中安装了其他 MySQL 相关的软件包,例如mysql-common 等,这些包可能被看作独立的包,不直接依赖于 mysql-server,所以就不会被移除。

yum remove mysql*

3、删除相关文件

  • 配置文件:一般是 /etc/mysql.cnf

  • 数据文件:一般在/var/lib/mysql

二进制安装 MySQL

二进制安装可以理解为软件的可执行文件已经被提前编译好了,在二进制安装过程中,您不需要自己编译软件,只需进行简单的配置和安装步骤即可开始使用软件。这种安装方式省去了编译过程中的时间和潜在的复杂性。

MySQL 5.6

1、下载二进制包

官方网址:https://downloads.mysql.com/archives/community/


说明:

Linux - Generic意味着该软件包适用于所有基于 Linux 的发行版,包括但不限于 Red Hat, Ubuntu, Debian 等。

2、相关环境准备

(1)解压应用程序到指定目录

将上传到服务器的软件包解压后,重命名移动到/opt目录下:

mv mysql-5.6.51-linux-glibc2.12-x86_64 mysql-5.6

sudo mv mysql-5.6 /opt/

/opt 和 /usr/local区别:

  • /opt 目录:通常用于存放那些所有组件都在同一个目录中的完整应用程序。这些应用程序是自包含的,不会与系统的其他部分混合。

  • /usr/local 目录:用于存放按照 Unix 目录结构规则安装的应用程序组件。这些组件分布在不同的标准子目录中,例如可执行文件在 /usr/local/bin,库文件在 /usr/local/lib 等。

(2)配置PATH变量
root@ubuntu:~# echo 'PATH=/opt/mysql_5.6/bin:$PATH' > /etc/profile.d/mysql.sh

ehigh@ubuntu:/opt/mysql_5.6/bin$ source /etc/profile.d/mysql.sh
(3)创建mysql用户

通过使用专门的用户运行服务,可以确保该服务仅具有执行其所需任务所必需的权限,从而降低了系统遭受恶意攻击的风险。

groupadd -r -g 306 mysql

sudo useradd -r -g 306 -u 306 mysql
(4)创建配置文件

官方提供了模板配置文件,所以可以直接基于这个模板文件进行配置。在 support-files 子目录下有一个叫作 my-default.cnf的模板配置文件。


将文件模板拷贝一份到/etc下并重命名为my.cnf

sudo cp -a my-default.cnf  /etc/my.cnf

编辑配置文件,指定相关信息

# mysqld服务端进程配置
[mysqld]
user              = mysql
basedir           = /opt/mysql_5.6
datadir           = /mysql_data
pid-file          = /var/run/mysqld/mysqld.pid
socket            = /var/run/mysqld/mysqld.sock
port              = 3306
server_id         = 1
skip_name_resolve = ON
max_connections   = 1024
# 需要指定为具体的文件名
log_error         = /var/log/mysql/err.log
character-set-server  = utf8mb4
collation-server      = utf8mb4_unicode_ci

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


# [mysql]  # 仅影响 mysql 命令行客户端的行为
# 影响所有基于 MySQL 客户端库的应用程序,包括 mysql 命令行工具
[client]
socket=/var/run/mysqld/mysqld.sock
default-character-set=utf8mb4

说明:

basedir指定mysql应用程序的存放位置;datadir指定mysql的数据目录。因为后面我们会用mysql5.6自带的一个管理脚本来管理mysql,如果不指定这些参数,就会使用mysql.service脚本的默认配置来生成相关文件。

(5)mysql数据初始化

mysql5.6版本使用的是 mysql_install_db 这个脚本来实现基础数据的初始化。一般需要指定数据存放位置、运行 MySQL 服务器进程的系统用户名。

还有就是 MySQL 安装的根目录,指定安装位置的原因是该目录是MySQL 二进制文件、库、系统表和其他重要文件的所在位置。

sudo ./scripts/mysql_install_db --datadir=/mysql_data  --user=mysql --basedir=/opt/mysql_5.6/

说明: 如果初始化过程中提示这个错误,需要安装libaio1这个库文件

nstalling MySQL system tables.../opt/mysql_5.6/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
(6)编写服务文件

现在的Linux发行版系统用的都是Systemd作为init进程,所以可以直接编写一个systemd来管理MySQL。在mysql5.6的二进制安装包中,提供了一个叫作mysql.server的文件。可以通过systemd的service文件调用这个脚本实现mysql服务的管理。

sudo vim /lib/systemd/system/mysql.service

[Unit]
Description=MySQL Server 5.6.51
After=network.target

[Service]
Type=forking
User=mysql
Group=mysql
PIDFile=/var/run/mysqld/mysqld.pid
ExecStart=/etc/init.d/mysqld start
ExecStop=/etc/init.d/mysqld stop
ExecReload=/etc/init.d/mysqld reload
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
(8)启动测试
sudo systemctl daemon-reload

sudo systemctl start mysql.service

MySQL 5.7

MySQL 8.0

编译安装MySQL

MySQL基本配置

标签:Linux,server,yum,mysql,MySQL,mysqld,安装
From: https://www.cnblogs.com/heyongshen/p/17850029.html

相关文章

  • nohup ./ReverseProxy_linux_amd64 &
    IDEA安装JRebel插件实现热部署(无激活码,需要一台服务器)JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。1.IDEA搜索并安装Jrebel插件 安装......
  • Python知识补充pip 安装包的工具
    Python知识补充pip安装包的工具(1)安装第三方模块pipinstall模块名pipinsyall模块名==#查看我当前模块都有哪些版本pipinsyall模块名==版本号#安装指定版本的模块(2)卸载模块pipuninstall模块名(3)临时换源pipuninstall模块名清华大学: https://pypi.tuna.......
  • linux中使用docker安装rabbitmq
    首先确保linux中docker环境正常运行。1、搜索docker镜像dockersearchrabbitmq2、拉取镜像dockerpullrabitmq3、启动rabbitmqdockerrun-d--namerabbitmq1--restartalways-p15672:15672-p5672:5672rabbitmq4、启动web工具 1)进入容器:dockerexec-itrabbi......
  • Linux01
    第一章:云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来虚拟化资源,将计算机资源通过网络进行虚拟化,或者用虚拟化资源进行计算。云计算是一种按使用量付费的模式,它随时随地提供便捷的、可通过网络按需访问的可配置计算资源共享池(资源包括网络、......
  • linux安装Apache、PHP、Mysql
    https://www.jianshu.com/p/39c4aa6f7103linux安装Apache、PHP、Mysql春风仿佛爱情IP属地:江西0.2842018.09.0119:41:37字数1,755阅读3,562一、检查系统环境二、安装Apache、PHP、Mysql三、安装基本常用扩展包四、配置Apache、mysql开机启动五、配置Mysql六、测试环境七、......
  • Rancher v1.x 使用手册之三 安装Rancher并启用SSL
    安装Rancher并启用SSL为了在RancherServer启用 https 访问,您需要在RancherServer前使用一个代理服务器代理https请求,并能设置http的头参数。我们会在以下的内容中提供一个使用NGINX、HAProxy或者Apache作为代理的例子。当然了,其他工具也是可以的。需求除了一般的RancherServer......
  • Rancher v1.x 使用手册之四—离线安装
    离线安装不可对外访问的网络环境(内网)也是可以启动Rancher服务的。在这种拓扑下,可以通过内网提供的IP或者域名来访问Rancher的操作界面(UI界面)。另外,也可以用HTTP代理或者私有镜像库来配置Rancher。需要注意的是,在内网中启动一个Rancher服务会导致一些特性无效,比如:使用操作......
  • Rancher五--在SELinux模式下安装Rancher-RHEL/CentOS
    在SELinux模式下安装Rancher-RHEL/CentOS从1.6+版本后支持为了使Rancher在RHEL/CentOS的SELinux模式下正常工作,您需要在安装有RPM包container-selinux-2.14(或更高的版本)的主机上运行RancherServer容器。同时,全部的agent主机也要安装这个包。如果您安装了较低版本的container-sel......
  • yarn的安装与禁止运行脚本报错
    一、yarn1.安装与卸载npminstall-gyarnnpmuninstallyarn-g//yarn卸载2.npm存在的一些不足:npminstall下载速度慢,即使是重新install时速度依旧慢同一个项目,安装的无法保持一致性。原因是因为package.json文件中版本号的特点导致在安装的时候代表不同的含义。使用npm......
  • Mysql命令行备份数据库的关键步骤
    MySQL是一个广泛使用的开源关系数据库管理系统,它常用于各种规模的应用,从个人博客到大型企业级系统。在使用MySQL的过程中,数据备份是一项至关重要的任务,它能够确保在发生数据丢失或系统故障时,我们可以恢复和重新部署数据库。在本文中,我们将介绍如何使用mysql命令行工具备份数据库,并......