Code前端首页关于Code前端联系我们

使用mysql服务器,如何搭建mysql服务器

terry 2年前 (2023-09-30) 阅读数 41 #Mysql
文章标签 Mysql

本文内容列表:

  • 1. 如何在Linux中启动mysqld服务器
  • 2.如何使用mysql连接mysql数据库
  • 3、mysql服务器启动后如何进入mysql创建数据库?
  • 4、如何配置mysql取消连接mysql数据库服务器

如何在linux中启动mysqld服务器

1. 以非特权用户身份运行 MySQL 服务器

在讨论如何启动 MySQL 服务器之前,我们先考虑一下使用哪个 MySQL 服务器用户。服务器可以手动或自动启动。如果手动启动,则服务器以您登录Unix(Linux)的用户身份启动,即如果您使用paul登录Unix并启动服务器,则以paul运行;如果使用su命令切换到root然后启动服务器,那么它就成为root。然而,您通常不想手动启动服务器,很可能您会在系统启动时自动配置 MySQL 服务器,作为标准启动过程的一部分,这是在 Unix 上完成的。由Unix系统的root用户,以及以root权限运行在开放进程中的任何进程。

在 MySQL 服务器启动过程中,您应该牢记两个目标:

您希望服务器以非 root 用户身份运行。一般来说,您希望限制任何进程的功能,除非绝对需要 root 权限,而 MySQL 不会这样做。

您希望服务器始终以同一用户身份运行。使用一个用户并在另一时间以不同的用户身份运行服务器是非常不方便的。这会导致文件和目录的数据具有不同的所有者。创建目录可能会导致服务器无法访问数据库或表,具体取决于您使用的用户。以同一用户身份运行服务器将帮助您避免此问题。

要以普通非特权用户身份运行服务器,请按照以下步骤操作:

选择一个用户来运行服务器,mysqld 可以以任何用户身份运行。但有一个更明显的概念就是创建一个单独的用户来进行MySQL操作。您还可以为 MySQL 选择自定义用户组。本文使用mysqladm和mysqlgrp作为用户名和用户组名。

如果您使用自己的帐户安装了 MySQL 并且在系统上没有特殊的管理权限,则您将能够使用自己的用户 ID 运行服务器。在这种情况下,请将 mysqladm 和 mysqlgrp 替换为您自己的用户名和用户组。

如果您在 RedHat Linux 上使用 rpm 文件安装 MySQL,安装过程将创建一个名为 mysql 的帐户,并使用该帐户而不是 mysqladm。

如有必要,请使用系统的正常用户创建过程创建服务器帐户。您必须是 root 才能执行此操作。

如果服务器正在运行,请将其停止。

更改数据目录以及所有子目录和文件的所有权,以便 mysqladm 用户拥有它。例如,如果数据目录为/usr/local/var,则可以按如下方式设置mysqladm的所有者(必须以root身份运行该命令):

#cd /usr/local/var

# chown -R mysqladm .mysqlgrp

更改数据目录及其子目录和文件的权限,使其只能由mysqladm用户访问。如果数据目录是 /usr/local/var,您可以将其设置为 mysqladm 具有的任何目录:

# cd /usr/local/var

# chmod -R go-rwx

设置数据时目录 在确定内容的所有者和模式时,要注意符号连接。您需要跟踪并更改其所在文件或目录的所有权和模式。如果连接文件所在的目录是您没有的目录,这可能会有点麻烦,并且您可能需要root。

完成上述过程后,您应该始终以 mysqladm 或 root 身份登录来启动服务器。最后,一定要指定选项--user=mysqladm,使服务器能够将用户ID切换为mysqladm(也适用于系统启动过程)。

--user 选项是在 MySQL 3.22 中引入的。如果您有旧版本,则可以在以 root 身份运行时对系统使用 su 命令以特定用户身份运行服务器。

2。如何启动服务器

确定运行服务器所使用的帐户后,您可以选择如何配置来启动服务器。您可以从命令行手动运行它,也可以在系统启动时自动运行它。启动服务器主要有三种方式:

直接调用mysqld。

这可能是最不常用的方法,不建议多用,所以本文不再赘述。

调用 safe_mysqld 脚本。

safe_mysqld 尝试确定服务器程序和数据目录的位置。然后使用反映这些值的选项调用服务器。 safe_mysqld 将默认错误设备从服务器移动到数据目录中的错误文件中,因此有一条记录。启动服务器后,safe_mysqld 还会监视它,如果出现故障则重新启动它。 safe_mysqld 通常用于 BSD 风格的 Unix 系统。

如果您以 root 身份或在系统引导期间启动 sqfe_mysqld,则错误日志归 root 所有,当您尝试使用非特权用户调用 safe_mysqld 时,可能会导致“权限被拒绝”错误。清除错误日志重试。

调用mysql.server脚本。

该脚本通过 safe_mysqld.mysql.server 启动服务器,该服务器旨在用于 System V 启动和停止系统,其中包含多个目录,这些目录包含计算机进入或退出给定运行级别时调用的脚本。 。它可以使用启动或停止参数来指示是否要启动或停止服务器。

safe_mysqld 脚本安装在 MySQL 安装目录的 bin 目录中,也可以在 MySQL 源代码分发的脚本目录中找到。 mysql.server 脚本安装在 MySQL 安装目录的 share/mysqld 目录中,或者可以在 MySQL 源代码分发的 support_files 目录中找到。如果要使用它,则必须将其复制到相应的目录中。

对于 BSD 风格的系统(FreeBSD、OpenBSD 等),/etc 目录中通常有几个文件用于在启动时启动服务。这些文件通常具有以“rc”开头的名称,并且可能被命名为“rc.local”(或类似名称)的文件,专门用于启动本地安装的服务。在该系统上,您可以通过将以下行添加到 rc.local 文件中来启动服务器(如果系统上的 safe_mysqld 目录不同,只需更改它):

if [ -x /usr/local/bin/安全_mysqld];然后

/usr/local/bin/safe_mysqld

fi

对于V风格的系统,可以通过将mysql.server放在/etc中适当的启动目录中来安装。如果您正在运行 Linux 并从 RPM 文件安装 MySQL,那么这已经为您完成,否则将脚本安装在主启动目录中,并将连接安装在适当的运行级别目录中。您还可以制作只能由 root 启动的脚本。

启动文件目录的布局因系统而异,因此您应该检查您的系统如何组织它。例如,在Linux PPC中,目录是/etc/rc.d和/etc/rc.d/rc3.d,因此您可以安装如下脚本:

#cp mysql.server /etc/rc。 d/初始化。 d

#cd /etc/init.d

#chmod 500 mysql.server

#cd /etc/rc.d/rc3.d

#ln -s ../init.d/ mysql.server S99mysql

在Solaris上,主脚本目录是/etc/init.d,运行级别目录是/etc/rd2.d,所以命令如下:

#cp mysql.server / etc/ rc.d/init.d

#cd /etc/init.d

#chmod 500 mysql.server

#cd /etc/rc2.d

#ln -s ../ init.d/mysql.server S99mysql

系统启动时,会自动调用S99mysql脚本,并带有初始化参数。如果您有 chkconfig 命令(Linux 上可用),您可以使用它来帮助安装 mysql.server 脚本,而不是像上面那样手动使用上述命令。

2.1 指定启动选项

如果您想在服务器启动时指定其他启动选项,您有两个选择。您可以修改您使用的启动脚本(safe_mysqld 或 mysql.server)并直接在服务器调用行上指定选项,或在选项文件中指定选项。我们建议您尽可能在全局选项文件中指定选项,该文件通常位于 /etc/my.cnf (Unix) 或 c:\my.cnf (Windows)。

某些类型的信息无法指定为服务器选项。为此,您可能需要修改 safe_mysqld。例如,如果您的服务器无法正确选择本地时区并返回 GMT 时间值,您可以设置 TZ 环境变量来给出指示。如果使用 safe_mysqld 或 mysql.server 启动服务器,则可以将时区设置添加到 safe_mysqld。找到启动服务器的行,并在该行前添加以下命令:

TZ=US/Central

export TZ

以上命令语法适用于 Solaris。其他系统的语法可能有所不同,请参阅相应的手册。如果您修改了启动脚本,请注意,下次安装MySQL(例如升级到新版本)时,您的更改将丢失,除非您将启动脚本复制到其他地方。安装新版本后,比较新旧脚本,看看需要重新构建哪些更改。

2.2 启动时检查表

除了将服务器配置为在系统启动时启动之外,您可能还需要安装 myisamchk 和 isamchk 脚本以在服务器启动之前检查表。您可以在崩溃后重新启动。可能是桌子坏了。开始之前检查是发现问题的好方法。

3。停止服务器

要手动启动服务器,请使用 mysqladmin:

%mysqladmin shutdown

要自动停止服务器,您不需要执行任何特殊操作。 BSD 系统通常通过向进程发送 TERM 信号来终止服务,该进程可以正确响应或优雅地终止。 mysqld 在收到此信号后通过终止进行响应。对于使用 mysql.server 启动服务器的 V 风格系统,停止进程将使用 stop 参数调用脚本,告诉服务器终止,当然假设已安装 mysql.server。

4。无法连接服务器时如何重新获得服务器的控制权

在某些情况下,由于无法连接服务器,需要手动重启服务器。当然,这有点矛盾。由于大多数时候您都是通过连接到服务器来手动禁用它,那么这是如何发生的呢?

首先,MySQL root 密码可以设置为你不知道的值。当您更改密码时,可能会发生这种情况,例如,如果您在输入新密码时意外键入了不可见的控制字符。您也可能忘记密码。

其次,连接到本地主机通常是通过Unix域套接字文件,通常是/tmp/mysql.sock。如果socket文件被删除,本地客户端将无法连接。当您的系统运行删除 /tmp 中的临时文件的 cron 作业时,可能会发生这种情况。

如果由于缺少套接字文件而无法连接,可以通过重新启动服务器来重新创建它。因为服务器在启动时重新创建它。这里的缺点是你无法与套接字建立连接,因为它已经消失了,你必须建立一个 TCP/IP 连接,例如,如果主机服务器是pit.snake.net,你可以这样连接:

%mysqladmin -p -u root -hpit.snake.net shutdown

如果套接字文件被 cron 任务删除,问题将再次继续,除非您修改 cron 任务或使用一个或使用另一个套接字文件,您可以使用全局选项文件来指定不同的套接字。例如,如果数据目录是 /usr/local/var,则可以通过将以下行添加到 /etc/my.cnf 来将套接字文件移动到那里:

[mysqld]

socket=/usr/local /var/mysql.sock

[client]

socket=/usr/local/var/mysql.sock

指定服务器和客户端路径名,以便它们都使用相同的套接字文件。如果只设置服务器的路径,客户端仍然期望在原始位置执行套接字,并在更改后重新启动服务器,使其在新位置创建套接字。

如果由于忘记 root 密码或设置的值与您想象的不同而无法连接,并且需要重新控制服务器,您可以重新设置密码:

干扰服务器

如果您以root身份登录到主机服务器,则可以使用kill命令来终止服务器。您可以使用 ps 命令或查找服务器的 PID 文件(通常在数据目录中)找出服务器的进程 ID。

最好尝试正常关闭,向服务器发送 TERM 信号,看看它是否会以正常终止响应。这样,表和日志就会被正确删除。如果服务器被阻塞并且没有响应正常的终止信号,你可以通过kill -9来强制毁灭。这是最后的手段,因为可能存在无法更改的修改,并且您可能会面临使表处于不一致状态的风险。

如果使用 shutdown -9 关闭服务器,请在启动服务器之前使用 myisamchk 和 isamchk 检查表。

使用 --skip-grant-table 选项重新启动服务器。

这告诉服务器不要使用授权表来验证连接,这允许您以 root 身份进行连接而无需密码。连接后,更改 root 密码。

使用mysqladmin flash-privileges告诉服务器再次开始使用授权表

如果您的mysqladmin版本无法识别flash权限,请尝试重新加载。

5。运行多个服务器

通常,您将在给定计算机上运行单个 MySQL 服务器,但在许多情况下运行多个服务器很有用:

您可能希望在维护生产服务器的同时测试一个新服务器版本跑步。在这种情况下,您将运行不同的服务器代码。

操作系统通常会限制每个进程打开的文件数量。如果您的系统正在努力提高此限制,那么运行多个服务器是克服该限制的一种方法。在这种情况下,您可以从集成服务器运行多个实例。

ISP 通常为客户提供自己的 MySQL 安装,这需要单独的服务器。在这种情况下,如果不同的客户需要不同版本的 MySQL,您可以运行相同版本或不同版本的多个实例。

当然,运行多台服务器比运行一台服务器更复杂。如果您安装多个版本,则无法将它们全部安装在同一个位置。当服务器运行时,某些参数对于每个服务器必须或可能是唯一的。这包括服务器的安装位置、数据目录的路径名、TCP/IP 端口以及用于运行服务器的 UNIX 域套接字路径名。服务器的 UNIX 帐户(如果您不在同一帐户下运行所有​​服务器)。如果您要运行多个服务器,请确保注意您正在使用的参数,这样您就不会忘记正在发生的事情。

5.1 配置和安装多个服务器

如果您想要运行不同的服务器版本而不是同一版本的多个实例,则需要将它们安装在不同的位置。如果您安装二进制发行版(没有 RPM),它将安装在包含不同版本号的目录名称中。如果您从源安装,最简单的方法是使用 --with-prefix 选项在每个版本的 MySQL 安装中运行配置以保留不同的发行版。这将允许将所有内容安装在单独的目录中,并且您可以将域发行版的版本号与该目录相关联,例如,您可以像这样配置 MySQL 发行版,其中 version 是 MySQL 版本号:

% .configure--with-prefix=/usr/local/mysql-version

--with-prefix 选项还为服务器指定唯一的数据目录。您可能需要添加其他特定于服务器的选项,例如 TCP/IP 端口号和套接字路径名(--with-tcp-port 和 --with-unix-socket)。

如果您想要运行同一服务器版本的多个实例,则必须在运行时指定应基于服务器特定设置的任何选项。

5.2 多服务器启动流程

启动多台服务器比使用一台服务器更复杂。因为 safe_mysqld 和 mysql.server 在单个服务器设置中效果最佳。我们建议您仔细查看 safe_mysqld 并将其用作启动过程的基础。使用修改后的版本,您可以更精确地根据您的需求进行定制。

您必须处理的一个问题是如何在选项文件(my.cnf)中指定选项。对于某些服务器,您无法为每个不同的服务器设置使用 /etc/my.cnf,只能使用此文件在所有服务器上进行相同的设置。如果服务器的编译数据目录位置不同,可以在每个服务器数据目录中的my.cnf中指定所有服务器要使用的设置,并使用DATADIR/my.cnf指定服务器特定的设置,这里的DATADIR是不同的。从服务器到服务器。

指定服务器选项的另一种方法是使用 --default-file=path_name 作为命令行上的第一个选项,它告诉服务器从名为 path_name 的文件中读取选项。通过这种方式,您可以将服务器选项放入该服务器唯一的文件中,并告诉服务器从一开始就读取该文件。请注意,如果指定此选项,则不会使用任何常用选项文件(例如 /etc/my.cnf)。

你可以看到。

如何使用mysql连接mysql数据库

通常我们在网上看到的mysql教程和mysql工具书都包含cmd命令和结果集。

也许有一些初学者不知道在系统的哪里输入这些命令,或者启动一些mysql工具。下面将教大家如何进入mysql cmd模式以及基本的mysql cmd操作。

以窗口系统为例,首先我们将鼠标移动到左下角开始,点击【开始】按钮,找到【运行】,打开运行,在输入框中输入“cmd”,然后按回车键(即回车键),然后进入cmd模式(一个黑色背景的窗口,里面有一些英文字母)。

打开cmd后,我们看到:C:\Documents and Settings\Administrator(有些朋友的系统使用的是Administrator以外的系统,这是不同的。如果以用户身份进入window系统,那就把Administrator(改为用户)

其实就是一串字母,这个英文描述的是系统位置,现在输入cmd后的位置是:c盘Documents and Settings目录下的Administrator目录,所以,现在你知道该位置的含义了,cmd就OK了,接下来我们该怎么办呢?对了,你应该进入mysql的bin目录,然后你就可以在里面用cmd启动mysql了。mysql目录就是MySQL中C盘Program Files目录下的MySQL Server 5.0(即C盘) :\Program Files\MySQL\MySQL Server 5.0).然后,我们需要进入这个目录第二步:

C:\cd C:\Program Files\MySQL\MySQL Server 5.0\bin (Type key)

出现:C:\Program Files\MySQL\MySQL Server 5.0\bin

第 3 步:(连接到 mysql 服务器) :\Program Files\MySQL\MySQL Server 5.0\binmysql -hlocalhost -uroot -p (键入key)

(上面的-hlocalhost表示使用本地用户连接,-uroot表示使用用户名root用户连接,-p表示空密码。一般初学者都没有设置过root用户密码。如果安装mysql5.0时配置服务器,会提示先设置root密码。记住,上面-p后面填写)

连接成功后,会出现mysql欢迎信息和mysql版本号,

然后cmd盘符显示为:

mysql

这说明你已经成功连接到mysql服务器了。当你在参考书上看到一个命令时,它是一个mysql命令。你可以在这里输入一行,结果将出现在cmd中。

mysql服务器启动后如何登录mysql创建数据库

在 Windows 上:

打开命令行窗口 (cmd)。如果安装的Mysql服务名为mysql,则net start mysql(这一步也可以在控制面板-管理-服务中直接启动Mysql)

输入命令进入Mysql安装目录下的bin目录。如果安装目录为c:\program files\Mysql,则输入命令 cd c:\program files\Mysql\bin;

使用命令启动mysql服务,比如用户名root,密码123456,然后命令mysql -u root -p 123456;如果登录成功,则说明mysql服务启动成功。

在Linux中:

直接在命令行窗口启动mysql服务(假设mysql服务的名称);

然后在windows中按照步骤2和步骤3进行相同的验证;

如何管理mysql 远程连接mysql数据库服务器

第一种方法:更详细

下面文章主要介绍MySQL数据库打开远程连接的时机和操作流程。其实打开MySQL数据库远程连接

的实际操作步骤并不难。知识和有用的方法。这是错误的。今天我们就给大家讲解一下打开MySQL数据库远程连接的时间和流程。

1。 d:\MySQL\bin\MySQL -h localhost -u root

这样应该可以登录MySQL服务器了

复制代码

代码如下:

MySQLupdate user set host = ' %' 其中

user = 'root';

MySQL从用户中选择主机、用户;

2.MySQL将 *.* 上的所有权限授予由

'mypassword' 使用 GANT 选项识别的 'root'@'%'

授予主机访问数据的权限

3. MySQLFLUSH

权限

已应用修改

4. MySQLEXIT

退出MySQL服务器

这样就可以在另一台主机上以root身份登录了!

以上相关内容是打开MySQL数据库远程连接的介绍。我希望你能有所收获。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门