unix下启动mysql_unix mysql启动 - CSDN
  • 启动1.1 MySQL 进程可以用ps 命令查看进程:[root@rac2 ~]# ps -ef|grep mysqlroot 2161 1 0 09:38 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe--datadir=/var/lib/mysql --pid-file=/var/lib/mysql/rac2.pidmysq

     

    一.启动

    1.1  MySQL 进程

    可以用ps 命令查看进程:

    [root@rac2 ~]# ps -ef|grep mysql

    root     2161     1  0 09:38 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe--datadir=/var/lib/mysql --pid-file=/var/lib/mysql/rac2.pid

    mysql    2418  2161  0 09:38 ?        00:00:00 /usr/sbin/mysqld--basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin--user=mysql --log-error=/var/lib/mysql/rac2.err--pid-file=/var/lib/mysql/rac2.pid --socket=/var/lib/mysql/mysql.sock--port=3306

    root     3628  3596  0 09:57 pts/1    00:00:00 grep mysql

     

    1.1.1 mysqld — The MySQL Server

    mysqld, also known as MySQL Server, is the main program that does most of the work in aMySQL installation. MySQL Server manages access to the MySQL data directorythat contains databases and tables. The data directory is also the defaultlocation for other information such as log files and status files.

    When MySQLserver starts, it listens for network connections from client programs andmanages access to databases on behalf of those clients.

    The mysqld programhas many options that can be specified at startup. For a complete list ofoptions, run this command:

    shell> mysqld--verbose --help

    MySQL Serveralso has a set of system variables that affect its operation as it runs. Systemvariables can be set at server startup, and many of them can be changed atruntime to effect dynamic server reconfiguration. MySQL Server also has a setof status variables that provide information about its operation. You canmonitor these status variables to access runtime performance characteristics.

    -- mysqld 进程是MySQL Server 最核心的进程。mysqld 进程crash 或者出现异常,MySQLServer 基本上也就无法正常提供服务了。

     

    1.1.2 mysqld_safe — MySQL Server Startup Script

    mysqld_safe is the recommended way to start a mysqld server on Unix. mysqld_safe adds somesafety features such as restarting the server when an error occurs and loggingruntime information to an error log file. A description of error logging isgiven later in this section.

    mysqld_safe triesto start an executable named mysqld. To override the default behavior andspecify explicitly the name of the server you want to run, specify a --mysqld or--mysqld-version option to mysqld_safe. You can also use --ledir to indicate thedirectory where mysqld_safe should look for the server.

      mysqld_safe readsall options from the [mysqld], [server], and [mysqld_safe] sections in optionfiles. For example, if you specify a [mysqld] section like this, mysqld_safe willfind and use the --log-error option:

    [mysqld]

    log-error=error.log

    For backwardcompatibility, mysqld_safe also reads [safe_mysqld] sections, although youshould rename such sections to [mysqld_safe] in MySQL 5.5 installations.

    --mysqld_safe 会帮助我们来监控mysqld 进程的状态,当mysqld 进程crash 之后,mysqld_safe会马上帮助我们重启mysqld 进程。但前提是我们必须通过mysqld_safe 来启动MySQLServer,这也是MySQL AB 强烈推荐的做法。

     

    1.1.3 mysql.server — MySQL Server Startup Script

    MySQLdistributions on Unix include a script named mysql.server. It can be used onsystems such as Linux and Solaris that use System V-style run directories tostart and stop system services. It is also used by the Mac OS X Startup Itemfor MySQL.

    mysql.server canbe found in the support-files directory under your MySQL installation directoryor in a MySQL source distribution.

    --mysql.server 脚本放在support-files 目录下。 即:/usr/share/mysql

    If you use theLinux server RPM package (MySQL-server-VERSION.rpm), the mysql.server scriptwill be installed in the /etc/init.d directory with the name mysql. You neednot install it manually. See Section 2.5.1, “Installing MySQL from RPM Packages on Linux”, for more information onthe Linux RPM packages.

           --如果我们使用RPM 包来安装的MySQL,那么mysql.server 脚本会自动安装到/etc/init.d目录下,并且重名为mysql。 我们不需要手工的来安装


    [root@rac2 mysql]# ls /etc/init.d/mysql

    /etc/init.d/mysql

     

    Some vendorsprovide RPM packages that install a startup script under a different name suchas mysqld.

    If you installMySQL from a source distribution or using a binary distribution format thatdoes not install mysql.server automatically, you can install it manually.Instructions are provided in Section 2.10.1.2, “Starting and Stopping MySQLAutomatically”.

    mysql.server readsoptions from the [mysql.server] and [mysqld] sections of option files. Forbackward compatibility, it also reads [mysql_server] sections, although youshould rename such sections to [mysql.server] when using MySQL 5.5.

           --mysql.server 从参数文件里读取[mysql.server]和[mysqld]段的的信息。

     

    1.1.4 mysqld_multi — Manage Multiple MySQL Servers

    mysqld_multi is designedto manage several mysqld processes that listen for connections on differentUnix socket files and TCP/IP ports. It can start or stop servers, or reporttheir current status.

    --如果我们的一个节点上有多个mysql,可以使用mysqld_multi 来管理。

     

    mysqld_multi searchesfor groups named [mysqldN] in my.cnf (or in the file named by the --config-fileoption). N can be any positive integer. This number is referred to in thefollowing discussion as the option group number, or GNR. Group numbersdistinguish option groups from one another and are used as arguments to mysqld_multito specify which servers you want to start, stop, or obtain a status reportfor. Options listed in these groups are the same that you would use in the [mysqld]group used for starting mysqld. (See, for example, Section 2.10.1.2, “Startingand Stopping MySQL Automatically”.) However, when using multiple servers, it isnecessary that each one use its own value for options such as the Unix socketfile and TCP/IP port number. For more informationon which options must beunique per server in a multiple-server environment, see Section 5.6, “RunningMultiple MySQL Instances on One Machine”.

           -- mysqld_multi 会在my.cnf 里搜索mysqldN的参数配置。

     

    以上都是相关进程的大概内容,详细内容可以参考MySQL 5.5的官方文档的4.3 小节:MySQLServer and Server-Startup Programs

     

    1.2  启动进程的参数

    The MySQL servermaintains many system variables that indicate how it is configured. Each systemvariable has a default value. System variables can be set at server startupusing options on the command line or in an option file. Most of them can bechanged dynamically while the server is running by means of the SET statement,which enables you to modify operation of the server without having to stop andrestart it. You can refer to system variable values in expressions

     

    在启动MySQL 时,我们可以手工的在命令后面指定相关的参数, 如上面ps 的命令显示的一样:

    /usr/sbin/mysqld --basedir=/usr--datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql--log-error=/var/lib/mysql/rac2.err --pid-file=/var/lib/mysql/rac2.pid--socket=/var/lib/mysql/mysql.sock --port=3306

     

    这里是我们的默认的一个参数值,我们可以通过如下命令来查看MySQL的默认参数的具体值:

    (1)To see the values that a serverwill use based on its compiled-in defaults and any option files that it reads,use this command:

    mysqld --verbose--help

    (2)To see the values that a serverwill use based on its compiled-in defaults, ignoring the settings in any optionfiles, use this command:

    mysqld --no-defaults --verbose --help

          

    如果每次启动都手工的指定参数比较麻烦,我们可以把相关的参数配置到参数文件里,在MySQL启动时会读取这些文件,参数文件的位置:

     

    On Unix, Linux and Mac OS X, MySQL programsread startup options from the following files, in the specified order (topitems are used first).

     


    注意上表中参数文件的顺序,MySQL 会按照从上往下的顺序优先使用上面的参数文件,这个就类似与Oracle的SPFILE,PFILE和 init 文件的读取顺序一样。

     

    ~ represents the current user's home directory (the value of $HOME).

    SYSCONFDIR representsthe directory specified with the SYSCONFDIR option to CMake when MySQL wasbuilt. By default, this is the etc directory located under the compiled-ininstallation directory.

     

    MYSQL_HOME is anenvironment variable containing the path to the directory in which theserver-specific my.cnf file resides. If MYSQL_HOME is not set and you start theserver using the mysqld_safe program, mysqld_safe attempts to set MYSQL_HOME asfollows:

    (1)Let BASEDIR and DATADIR representthe path names of the MySQL base directory and data directory, respectively.

    (2)If there is a my.cnf file in DATADIRbut not in BASEDIR, mysqld_safe sets MYSQL_HOME to DATADIR.

    (3)Otherwise, if MYSQL_HOME is not setand there is no my.cnf file in DATADIR, mysqld_safe sets MYSQL_HOME to BASEDIR.

     

    In MySQL 5.5,use of DATADIR as the location for my.cnf is deprecated.

           --在MySQL 5.5中,my.cnf 文件已经不放在DATADIR目录下。

     

    Typically, DATADIRis /usr/local/mysql/data for a binary installation or /usr/local/var for asource installation. Note that this is the data directory location that wasspecified at configuration time, not the one specified with the --datadir optionwhen mysqld starts. Use of --datadir at runtime has no effect on where theserver looks for option files, because it looks for them before processing anyoptions.

     

    我的测试版本:

    mysql> selectversion(),current_user();

    +------------+----------------+

    | version()  | current_user() |

    +------------+----------------+

    | 5.5.15-log |root@localhost |

    +------------+----------------+

    1 row in set(0.02 sec)

     

    里并没有my.cnf 文件,只在/usr/share/mysql目录下面有几个类似的文件:


    [root@rac2 mysql]# pwd

    /usr/share/mysql

    [root@rac2 mysql]# ls my*

    my-huge.cnf             my-small.cnf         mysql_system_tables_data.sql

    my-innodb-heavy-4G.cnf  mysqld_multi.server  mysql_system_tables.sql

    my-large.cnf            mysql-log-rotate     mysql_test_data_timezone.sql

    my-medium.cnf           mysql.server

     

    我们copy 一个到/etc 目录下:

    [root@rac2 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

     

    从上面了解到,MySQL 在启动时会先使用/etc/my.cnf的配置文件,如果没有在使用其他的文件,所以我们修改该配置文件里的相关参数即可。

     

    二.关闭

    2.1 官网对shutdown的说明

    The server shutdown process takes place asfollows:

    1. The shutdown processis initiated.

    This can occurinitiated several ways. For example, a user with the SHUTDOWN privilege canexecute a mysqladmin shutdown command. mysqladmin can be used on any platformsupported by MySQL. Other operating system-specific shutdown initiation methodsare possible as well: The server shuts down on Unix when it receives a SIGTERM signal.A server running as a service on Windows shuts down when the services managertells it to.

     

    2. The server creates ashutdown thread if necessary.

    Depending on howshutdown was initiated, the server might create a thread to handle the shutdownprocess. If shutdown was requested by a client, a shutdown thread is created.If shutdown is the result of receiving a SIGTERM signal, the signal threadmight handle shutdown itself, or it might create a separate thread to do so. Ifthe server tries to create a shutdown thread and cannot (for example, if memoryis exhausted), it issues a diagnostic message that appears in the error log:

    Error: Can't create thread to kill server

     

    3. The server stopsaccepting new connections.

    To prevent newactivity from being initiated during shutdown, the server stops accepting newclient connections by closing the handlers for the network interfaces to whichit normally listens for connections: the TCP/IP port, the Unix socket file, theWindows named pipe, and shared memory on Windows.

     

    4. The server terminatescurrent activity.

    For each threadassociated with a client connection, the server breaks the connection to theclient and marks the thread as killed. Threads die when they notice that theyare so marked. Threads for idle connections die quickly. Threads that currentlyare processing statements check their state periodically and take longer todie. For additional information about thread termination, see Section 12.7.6.4,“KILL Syntax”, in particular for the instructions about killed REPAIR TABLE or OPTIMIZETABLE operations on MyISAM tables.

    For threads thathave an open transaction, the transaction is rolled back. Note that if a threadis updating a nontransactional table, an operation such as a multiple-row UPDATEor INSERT may leave the table partially updated because the operation canterminate before completion. If the server is a master replication server, ittreats threads associated with currently connected slaves like other clientthreads. That is, each one is marked as killed and exits when it next checksits state.

    If the server isa slave replication server, it stops the the I/O and SQL threads, if they areactive, before marking client threads as killed. The SQL thread is permitted tofinish its current statement (to avoid causing replication problems), and thenstops. If the SQL thread was in the middle of a transaction at this point, thetransaction is rolled back.

    If the slave isupdating a non-transactional table when it is forcibly killed, the slave's datamay become inconsistent with the master.

     

    5. The server shuts downor closes storage engines.

    At this stage,the server flushes the table cache and closes all open tables. Each storageengine performs any actions necessary for tables that it manages. For example, MyISAMflushes any pending index writes for a table. InnoDB flushes its buffer pool todisk (unless innodb_fast_shutdown is 2), writes the current LSN to the tablespace,and terminates its own internal threads.

     

    6. The server exits.

     

    三.相关示例

    3.1 部署MySQL自启动

    To start andstop MySQL automatically on your server, you need to add start and stopcommands to the appropriate places in your /etc/rc* files.

    --如果配置MySQL的自动启用和关闭,需要讲相关命令添加到/etc/rc*目录里。

    If you use theLinux server RPM package (MySQL-server-VERSION.rpm), or a native Linux packageinstallation, the mysql.server script may be installed in the /etc/init.d directorywith the name mysql. See Section 2.5.1, “Installing MySQL from RPM Packages onLinux”, for more information on the Linux RPM packages.Some vendors provide RPMpackages that install a startup script under a different name such as mysqld.

    --如果是使用RPM包来安装的,已经部署到/etc/init.d/mysql了脚本,不需要其他配置。

    If you installMySQL from a source distribution or using a binary distribution format thatdoes not install mysql.server automatically, you can install it manually. Thescript can be found in the support-files directory under the MySQL installationdirectory or in a MySQL source tree.

     

    To install mysql.servermanually, copy it to the /etc/init.d directory with the name mysql, and thenmake it executable. Do this by changing location into the appropriate directorywhere mysql.server is located and executing these commands:

           --如果手工的部署启动启动脚本,执行如下2个命令:

    shell> cp mysql.server /etc/init.d/mysql

    shell> chmod +x /etc/init.d/mysql

     

    Note:

    Older Red Hatsystems use the /etc/rc.d/init.d directory rather than /etc/init.d. Adjust thepreceding commands accordingly.

    --老版本的Redhat 使用/etc/rc.d/init.d 代替/etc/init.d,所以需要创建一个link。

    Alternatively,first create /etc/init.d as a symbolic link that points to /etc/rc.d/init.d:

    shell> cd /etc

    shell> ln -s rc.d/init.d .

     

    After installingthe script, the commands needed to activate it to run at system startup dependon your operating system.

           --脚本安装完之后,需要激活自启动。

     

    On Linux, you can use chkconfig:

    shell> chkconfig --add mysql

    On some Linux systems, the followingcommand also seems to be necessary to fully enable the mysql script:

    shell> chkconfig --level 345 mysql on

     

     

    3.2 手工启动和关闭MySQL 示例

    [root@rac2 /]#/usr/share/mysql/mysql.server stop

    Shutting down MySQL.                                       [  OK  ]

    [root@rac2 /]#/usr/share/mysql/mysql.server start

    Starting MySQL....                                         [  OK  ]

    [root@rac2 /]# service mysql stop

    Shutting down MySQL.                                       [  OK  ]

    [root@rac2 /]# service mysql start

    Starting MySQL......                                       [ OK  ]

     

    mysql.server stop stops the server by sending a signal to it. You can also stop the servermanually by executing mysqladmin shutdown.

     

    [root@rac2 run]# mysqladmin shutdown

    [root@rac2 run]# ps -ef|grep mysql 

    root    30997  3596  0 14:51 pts/1    00:00:00 grep mysql

     

    Mysqladmin 不能用来启动mysql。只能用来关闭。没有对应的启动语法。这个具体可以通过如下命令查看:

    [root@rac2 run]# mysqladmin --help

     

    另一个需要注意的问题,/var/lib/mysql/mysql.sock 文件仅在mysql 进程启动时才有,一旦mysql关闭,改文件也就自动清除。

     

    [root@rac2 run]# ls /var/lib/mysql/mysql.sock

    ls: /var/lib/mysql/mysql.sock: No such fileor directory

    [root@rac2 run]# service mysql start

    Starting MySQL.....                                        [  OK  ]

    [root@rac2 run]# ls/var/lib/mysql/mysql.sock

    /var/lib/mysql/mysql.sock

     

    在MySQL 启动这块有一个小插曲,参考:

    MySQL 启动故障 处理 小记

    http://www.cndba.cn/Dave/article/747

     

     

     

    -------------------------------------------------------------------------------------------------------

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    QQ:492913789

    Email:ahdba@qq.com

    Blog:  http://www.cndba.cn/dave

    Weibo:    http://weibo.com/tianlesoftware

    Twitter:  http://twitter.com/tianlesoftware

    Facebook: http://www.facebook.com/tianlesoftware

    Linkedin: http://cn.linkedin.com/in/tianlesoftware


    -------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

    DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

    DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

    DBA6 群:158654907    DBA7 群:172855474  DBA8群:102954821    

    展开全文
  • Unix下安装mysql

    2010-03-20 23:59:00
    Unix下配置MySQL集群1,配置samba服务,实现不同系统之间的共享,使用的是smb服务2,将Unix下MySQL上传到虚拟机3,解压文件: unzip .......tar.giz tar -xzvf ......tar4,创建mysql的账户和mysql的组 ...

      Unix下配置MySQL集群

    1,配置samba服务,实现不同系统之间的共享,使用的是smb服务

    2,将Unix下的MySQL上传到虚拟机

    3,解压文件:
     unzip .......tar.giz
     tar -xzvf ......tar
    4,创建mysql的账户和mysql的组

     groupadd mysql
     useradd -g mysql mysql
     passwd mysql
    5,进入mysql的目录
     cd mysql-cluster.....386
    6,改变当前的目录和文件的所有者和所属组
     chown -R mysql *
     chgrp -R mysql *
    7,安装软件:
     scripts/mysql_install_db --user=mysql
    8,改变当前的所有者为root
     chown -R root .
    9,改变数据库的所有者:
     chown -R mysql data

    10,启动数据库

     bin/mysqld_safe --user=mysql &

    11,使用mysql

     bin/mysql

     

    展开全文
  • 使用口令service mysqld restart重启mysql时,报“Another MySQL daemon already running with the same unix socket.”,主要原因是mysql进程被占用,没有彻底退出,导致无法重新启动,如图: 解决方法: ...

    使用口令service mysqld restart重启mysql时,报“Another MySQL daemon already running with the same unix socket.”,主要原因是mysql进程被占用,没有彻底退出,导致无法重新启动,如下图:

    解决方法:

    切换到错误提示路径下/var/lib/mysql,修改mysql.sock文件名称,然后重新启动mysql服务,即可。

    博文转自于:http://www.itzoo.net/db/663.html

    展开全文
  • 在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器。服务器可以手动或自动启动。如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动...

    一、以非特权用户运行MySQL服务器

    在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器。服务器可以手动或自动启动。如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行;如果你用su命令切换到root,然后运启动服务器,则它以root运行。然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,在Unix下,该引导过程由系统的Unix用户root执行,并且任何在该过程中运行的进程均以root权限运行。

    你应该牢记MySQL服务器启动过程的两个目标:

    • 你想让服务器以某个非root用户运行。一般地,你想限制任何运行进程的能力,除非确实需要root权限,而MySQL不需要。
    • 你想让服务器始终以同一个用户运行,此时用一个用户而其他时候以另一个不同的用户运行服务器是很不方便的,这造成了为文件和目录以具有不同属主的数据目录下被创建,并可能导致服务器不能访问数据库或表,这看你以哪个用户运行。统一用同一个用户运行服务器是你避免这个问题。

    要一个普通的非特权用户运行服务器,按照下列步骤:

    1. 选择一个用于运行服务器的用户,mysqld可以用任何用户运行。但在概念上较清晰的是为MySQL操作创建一个单独的用户。你也可以特别为MySQL选择一个用户组。本文使用mysqladm和mysqlgrp分别作为用户名和用户组名。
      如果你已在自己的账号下安装好了MySQL且没有系统上的特殊管理权限,你将可能在你自己的用户ID下运行服务器。在这种情况下,用你自己的登录名和用户组代替mysqladm和mysqlgrp。
      如果你在RedHat Linux上用rpm文件安装MySQL,该安装将自动创建一个名为mysql的账号,用该账号代替mysqladm。
    2. 如果必要,用系统通常的创建用户的过程创建服务器账号,你需要用root做它。
    3. 如果服务器在运行,停止它。
    4. 修改数据目录和任何子目录和文件的属主,这样使得mysqladm用户拥有它们。例如,如果数据目录是/usr/local/var,你可以如下设置mysqladm的属主(你需要以root运行这些命令):

      #cd /usr/local/var
      #chown -R mysqladm.mysqlgrp
       
    5. 修改数据目录和任何子目录和文件的权限,使得它们只能由mysqladm用户访问。如果数据目录是/usr/local/var,你可以设置由mysqladm拥有的任何东西:

      # cd /usr/local/var
      # chmod -R go-rwx

    当你设置数据目录及其内容的属主和模式时,注意符号连接。你需要顺着它们并改变它们指向的文件或目录的属主和模式。如果连接文件的目录位于不属于你的地方,会有些麻烦,你可能需要root身份。

    在你完成了上述过程后,你应该确保总是在以mysqladm或root登录时启动服务器,在后者,确定指定--user=mysqladm选项,使服务器能将其用户ID切换到mysqladm(同时也适用于系统启动过程)。

    --user选项在MySQL 3.22中引入,如果你有老版本,你可以使用su命令告诉系统在以root运行时在特定的用户下运行服务器。

    二、启动服务器的方法

    在我们确定了用于运行服务器的账号后,你可以选择如何安排启动服务器。你可以从命令行手动或在系统引导过程中自动地运行它。对于启动服务器由三种主要方法

    • 直接调用mysqld。
      这可能是最不常用的方法,建议不要多使用,因此本文不详细介绍。
    • 调用safe_mysqld脚本。
      safe_mysqld试图确定服务器程序和数据目录的位置。然后用反映这些值的选项调用服务器。safe_mysqld将标准出错设备从服务器重定位到数据目录下的一个出错文件,使得有它的一条记录。在启动服务器后,safe_mysqld也监视它并且如果它死掉则重启它。safe_mysqld常用于BSD风格的Unix系统。
      如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有,这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致“permission denied”(权限拒绝)错误,删除出错日志再试一下。
    • 调用mysql.server脚本。
      这个脚本通过有意用于System V的启动和停止系统上的safe_mysqld.mysql.server来启动服务器,该系统包含几个包含在机器进入或退出一个给定运行级别时被点用的脚本目录。它可以用一个start或stop参数点用以表明你是想启动还是想停止服务器。

    safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。mysql.server脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的support_files目录下找到。如果你想使用它们,你需要将它们拷贝到适当的目录下。

    对BSD风格的系统(FreeBSD,OpenBSD等),通常在/etc目录下有几个文件在引导时初始化服务,这些文件通常有以“rc”开头的名字,且它有可能由一个名为“rc.local”的文件(或类似的东西),特意用于启动本地安装服务。在这样的系统上,你可能将类似于下列的行加入rc.local文件中以启动服务器(如果safe_mysqld的目录在你的系统上不同,修改它即可):

    if [ -x /usr/local/bin/safe_mysqld ]; then
      /usr/local/bin/safe_mysqld &
    fi

    对于对于System V风格的系统,你可以通过将mysql.server放在/etc下适当的启动目录下来安装它。如果你运行Linux并从一个RPM文件安装MySQL,这些已经为你做好了,否则将脚本安装在主启动目录下,并将指向它的连接放在适当的运行级别目录下。你也可以使脚本只能由root启动。

    启动文件的目录布局各系统不同,所以你需要检查一下看看你的系统如何组织它们。例如在Linux PPC上,目录是/etc/rc.d和/etc/rc.d/rc3.d,这样你可以这样安装脚本:

    #cp mysql.server /etc/rc.d/init.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脚本将自动用一个start参数调用。如果你有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脚本,以在服务器启动前检查你的表。你可能在一个崩溃后重启,有可能表已经损害,在启动前检查它是一个发现问题的好方法

    三、停止服务

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

    %mysqladmin shutdown

    要自动停止服务器,你不需做特别的事情。BSD系统一般通过向进程发一个TERM信号停止服务,它们或者正确应答它或被粗鲁地杀死。mysqld在它收到这个信号时以终止作为应答。对于用mysql.server启动服务器的System V风格的系统,停止进程将用一个stop参数调用该脚本,告诉服务器终止,当然假定你已安装了mysql.server。

    四、如果你不能连接服务器,如何重新获得对服务器的控制

    在某些情况下,你可能由于不能连接它而手工重启服务器。当然,这有点矛盾。因为一般你通过连接服务器而手工关掉它,那么这种情况如何会出现。

    首先,MySQL root口令可以已经设置为你不知道的值,这可能发生在你修改口令时,例如,如果你在输入新口令时偶然键入一个不可见的控制字符。你也可能忘记口令。

    其次,连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。

    如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。这里的骗局是你不能用套接字建立连接因为它不见了,你必须建立一个TCP/IP连接,例如,如果服务器主机是pit.snake.net,你可以这样连接:

    %mysqladmin -p -u root -h pit.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看它是否将以正常终止应答。这种方式下,表和日志将正确地被清空。如果服务器阻塞并且不应答一个正常终止信号,你可以用kill -9强制终止它。这是最后的手段了,因为这可能有未清空的修改,而且你冒着让表处于一个不一致状态的风险。
      如果你用kill -9终止服务器,要确保在启动服务器前用myisamchk和isamchk检查你的表。
    • 用--skip-grant-table选项重启服务器。
      这告诉服务器不使用授权表验证连接,这允许你以root连接而无须口令。在你已经连接后,改变root口令。
    • 用mysqladmin flush-privileges告诉服务器再次使用授权表启动
      如果你的mysqladmin版本不认识flash-privileges,试一试reload。

    五、运行多个服务

    大多数再一台给定的机器上运行单个MySQL服务器,但在很多情况下,运行多个服务器是很有用的:

    • 你可能想测试一个服务器的新版本,而保留你正在运行的生产服务器。在这种情况下,你会运行不同的服务器代码。
    • 操作系统一般限制每个进程的打开文件句柄数量。如果你的系统很难提高这个限制,运行多个服务器是解决限制的一种方法。在这种情况下,你可能运行统一服务器的多个实例。
    • ISP经常为其客户提供自己的MySQL安装,有必要涉及单独的服务器。在这种情况下,你可能运行同一版本的多个实例或不同版本,如果不同的客户想要不同版本的MySQL。

    很自然地,运行多个服务器比只运行一个服务器要复杂得多。如果你安装多个版本,你不能在同一个地方安装所有东西。当服务器运行时,某些参数必须或很可能对每个服务器是唯一的,它们包括服务器在哪安装、其数据目录的路径名、TCP/IP端口和UNIX域套接字路径名以及用于运行服务器的UNIX账号(如果你不再同一账号下运行所有服务器)。如果你决定运行多个服务器,一定要注意你使用的参数,是你不至于丢失对所发生的事情的踪迹。

    5.1 配置和安装多个服务

    如果你要运行不同版本的服务器而不是同一版本的多个实例,你必须在不同地点安装它们。如果你安装二进制分发(不用RPM),它们将安装在包含不同版本号的目录名下。如果你从源代码安装,最简单的方法是在每个版本运行configure配置MySQL安装过程中使用--with-prefix选项使得不同分发分开,这将使得所有东西安装在一个单独的目录下,你可以将目录域分发版本号联系起来,如,你可以象这样配置一个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服务器。服务器可以手动或自动启动。如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行;如果你用su命令切换到root,然后运启动服务器,则它以root运行。然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,在Unix下,该引导过程由系统的Unix用户root执行,并且任何在该过程中运行的进程均以root权限运行。

    你应该牢记MySQL服务器启动过程的两个目标:

    • 你想让服务器以某个非root用户运行。一般地,你想限制任何运行进程的能力,除非确实需要root权限,而MySQL不需要。
    • 你想让服务器始终以同一个用户运行,此时用一个用户而其他时候以另一个不同的用户运行服务器是很不方便的,这造成了为文件和目录以具有不同属主的数据目录下被创建,并可能导致服务器不能访问数据库或表,这看你以哪个用户运行。统一用同一个用户运行服务器是你避免这个问题。

    要一个普通的非特权用户运行服务器,按照下列步骤:

    1. 选择一个用于运行服务器的用户,mysqld可以用任何用户运行。但在概念上较清晰的是为MySQL操作创建一个单独的用户。你也可以特别为MySQL选择一个用户组。本文使用mysqladm和mysqlgrp分别作为用户名和用户组名。
      如果你已在自己的账号下安装好了MySQL且没有系统上的特殊管理权限,你将可能在你自己的用户ID下运行服务器。在这种情况下,用你自己的登录名和用户组代替mysqladm和mysqlgrp。
      如果你在RedHat Linux上用rpm文件安装MySQL,该安装将自动创建一个名为mysql的账号,用该账号代替mysqladm。
    2. 如果必要,用系统通常的创建用户的过程创建服务器账号,你需要用root做它。
    3. 如果服务器在运行,停止它。
    4. 修改数据目录和任何子目录和文件的属主,这样使得mysqladm用户拥有它们。例如,如果数据目录是/usr/local/var,你可以如下设置mysqladm的属主(你需要以root运行这些命令):

      #cd /usr/local/var
      #chown -R mysqladm.mysqlgrp
       
    5. 修改数据目录和任何子目录和文件的权限,使得它们只能由mysqladm用户访问。如果数据目录是/usr/local/var,你可以设置由mysqladm拥有的任何东西:

      # cd /usr/local/var
      # chmod -R go-rwx

    当你设置数据目录及其内容的属主和模式时,注意符号连接。你需要顺着它们并改变它们指向的文件或目录的属主和模式。如果连接文件的目录位于不属于你的地方,会有些麻烦,你可能需要root身份。

    在你完成了上述过程后,你应该确保总是在以mysqladm或root登录时启动服务器,在后者,确定指定--user=mysqladm选项,使服务器能将其用户ID切换到mysqladm(同时也适用于系统启动过程)。

    --user选项在MySQL 3.22中引入,如果你有老版本,你可以使用su命令告诉系统在以root运行时在特定的用户下运行服务器。

    二、启动服务器的方法

    在我们确定了用于运行服务器的账号后,你可以选择如何安排启动服务器。你可以从命令行手动或在系统引导过程中自动地运行它。对于启动服务器由三种主要方法

    • 直接调用mysqld。
      这可能是最不常用的方法,建议不要多使用,因此本文不详细介绍。
    • 调用safe_mysqld脚本。
      safe_mysqld试图确定服务器程序和数据目录的位置。然后用反映这些值的选项调用服务器。safe_mysqld将标准出错设备从服务器重定位到数据目录下的一个出错文件,使得有它的一条记录。在启动服务器后,safe_mysqld也监视它并且如果它死掉则重启它。safe_mysqld常用于BSD风格的Unix系统。
      如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有,这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致“permission denied”(权限拒绝)错误,删除出错日志再试一下。
    • 调用mysql.server脚本。
      这个脚本通过有意用于System V的启动和停止系统上的safe_mysqld.mysql.server来启动服务器,该系统包含几个包含在机器进入或退出一个给定运行级别时被点用的脚本目录。它可以用一个start或stop参数点用以表明你是想启动还是想停止服务器。

    safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。mysql.server脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的support_files目录下找到。如果你想使用它们,你需要将它们拷贝到适当的目录下。

    对BSD风格的系统(FreeBSD,OpenBSD等),通常在/etc目录下有几个文件在引导时初始化服务,这些文件通常有以“rc”开头的名字,且它有可能由一个名为“rc.local”的文件(或类似的东西),特意用于启动本地安装服务。在这样的系统上,你可能将类似于下列的行加入rc.local文件中以启动服务器(如果safe_mysqld的目录在你的系统上不同,修改它即可):

    if [ -x /usr/local/bin/safe_mysqld ]; then
      /usr/local/bin/safe_mysqld &
    fi

    对于对于System V风格的系统,你可以通过将mysql.server放在/etc下适当的启动目录下来安装它。如果你运行Linux并从一个RPM文件安装MySQL,这些已经为你做好了,否则将脚本安装在主启动目录下,并将指向它的连接放在适当的运行级别目录下。你也可以使脚本只能由root启动。

    启动文件的目录布局各系统不同,所以你需要检查一下看看你的系统如何组织它们。例如在Linux PPC上,目录是/etc/rc.d和/etc/rc.d/rc3.d,这样你可以这样安装脚本:

    #cp mysql.server /etc/rc.d/init.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脚本将自动用一个start参数调用。如果你有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脚本,以在服务器启动前检查你的表。你可能在一个崩溃后重启,有可能表已经损害,在启动前检查它是一个发现问题的好方法

    三、停止服务

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

    %mysqladmin shutdown

    要自动停止服务器,你不需做特别的事情。BSD系统一般通过向进程发一个TERM信号停止服务,它们或者正确应答它或被粗鲁地杀死。mysqld在它收到这个信号时以终止作为应答。对于用mysql.server启动服务器的System V风格的系统,停止进程将用一个stop参数调用该脚本,告诉服务器终止,当然假定你已安装了mysql.server。

    四、如果你不能连接服务器,如何重新获得对服务器的控制

    在某些情况下,你可能由于不能连接它而手工重启服务器。当然,这有点矛盾。因为一般你通过连接服务器而手工关掉它,那么这种情况如何会出现。

    首先,MySQL root口令可以已经设置为你不知道的值,这可能发生在你修改口令时,例如,如果你在输入新口令时偶然键入一个不可见的控制字符。你也可能忘记口令。

    其次,连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。

    如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。这里的骗局是你不能用套接字建立连接因为它不见了,你必须建立一个TCP/IP连接,例如,如果服务器主机是pit.snake.net,你可以这样连接:

    %mysqladmin -p -u root -h pit.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看它是否将以正常终止应答。这种方式下,表和日志将正确地被清空。如果服务器阻塞并且不应答一个正常终止信号,你可以用kill -9强制终止它。这是最后的手段了,因为这可能有未清空的修改,而且你冒着让表处于一个不一致状态的风险。
      如果你用kill -9终止服务器,要确保在启动服务器前用myisamchk和isamchk检查你的表。
    • 用--skip-grant-table选项重启服务器。
      这告诉服务器不使用授权表验证连接,这允许你以root连接而无须口令。在你已经连接后,改变root口令。
    • 用mysqladmin flush-privileges告诉服务器再次使用授权表启动
      如果你的mysqladmin版本不认识flash-privileges,试一试reload。

    五、运行多个服务

    大多数再一台给定的机器上运行单个MySQL服务器,但在很多情况下,运行多个服务器是很有用的:

    • 你可能想测试一个服务器的新版本,而保留你正在运行的生产服务器。在这种情况下,你会运行不同的服务器代码。
    • 操作系统一般限制每个进程的打开文件句柄数量。如果你的系统很难提高这个限制,运行多个服务器是解决限制的一种方法。在这种情况下,你可能运行统一服务器的多个实例。
    • ISP经常为其客户提供自己的MySQL安装,有必要涉及单独的服务器。在这种情况下,你可能运行同一版本的多个实例或不同版本,如果不同的客户想要不同版本的MySQL。

    很自然地,运行多个服务器比只运行一个服务器要复杂得多。如果你安装多个版本,你不能在同一个地方安装所有东西。当服务器运行时,某些参数必须或很可能对每个服务器是唯一的,它们包括服务器在哪安装、其数据目录的路径名、TCP/IP端口和UNIX域套接字路径名以及用于运行服务器的UNIX账号(如果你不再同一账号下运行所有服务器)。如果你决定运行多个服务器,一定要注意你使用的参数,是你不至于丢失对所发生的事情的踪迹。

    5.1 配置和安装多个服务

    如果你要运行不同版本的服务器而不是同一版本的多个实例,你必须在不同地点安装它们。如果你安装二进制分发(不用RPM),它们将安装在包含不同版本号的目录名下。如果你从源代码安装,最简单的方法是在每个版本运行configure配置MySQL安装过程中使用--with-prefix选项使得不同分发分开,这将使得所有东西安装在一个单独的目录下,你可以将目录域分发版本号联系起来,如,你可以象这样配置一个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服务器具有多种安装方式,而且能够运行在多种操作系统平台之上,所以它的启动方式也有很多,在Linux系统MySQL服务器通常有四种启动方式:守护进程启动,mysqld_safe启动mysql.server启动,mysqld_...
  • 原文:https://ocelot.ca/blog/blog/2015/07/19/connecting-to-mysql-or-mariadb-with-sockets-on-linux/ MySQL手册上面有这样一段话: --socket=file_name, -... On Unix, the name of the Unix socket file to us...
  • Linux下MySQL启动失败

    2014-01-27 15:08:09
    MySQL 通过/usr/share/mysql/mysql.server ... 拷贝到/etc/init.d/mysql ,/etc/init.d/mysql 启动确报如下错误。并且没有记入错误日志。 启动报的错误信息如下: The server quit without updating PID file (/us
  • 启动mysql数据库

    2019-07-07 10:28:46
    win+r打开输入cmd 输入以下命令启动服务器 再打开一个命令框 输入 输入密码后即可
  • [root@localhost ~]#/etc/init.d/mysqld restart Stopping mysqld: [ OK ] Another MySQL daemon already running with the same unix socket. Starting mysqld: 
  • 现象: 因为有人直接拔了机器电源,导致MySQL所在机器直接非正常断电...所以执行service mysqld start,发现报错Another MySQL daemon already running with the same unix socket. 但是,用netstat -nao|grep 3306没有
  • Unix中运行多个服务器最容易的方法是使用不同的TCP/IP端口s和Unix套接字文件编译,因此每个实例在不同的网络接口侦听。另外,每个安装应在不同的基础目录中编译,那将自动为你的每个服务器产生使用不同的编译进来...
  • 1.MySql的安装 使用yum命令安装Mysql:yum install mysql 默认用户名是root,密码是空。 2.启动MySql service mysqld start mysql -u root
  • 服务器上安装Mysql,由于Centos自身的yum源中用Mysql的分支Mariadb代替了MySQL,所以不得不选择rpm或tar.gz包的方式安装, 但是为了以后在其他LInux如Ubuntu中也能熟练安装MySQL,所以推荐使用tar.gz,安装教程—...
  • 有一次打开网站时发现报错了,于是到网上去找原因,大部分都说是mysql数据库的问题,于是我就想启动一下mysql是否会报错,果然在启动的报错了...mysql然后重新启动mysql之后就一切正常了。 还有一种可能是因为在my.cn
  • Linux安装MySQL启动

    2018-02-22 16:13:45
    一、MySQL各类安装方法的比较在Linux系统MySQL有3种主要的安装方式,分别是:RPM安装、二进制安装、源码安装。三种安装方式的优缺点如下表所示: RPM安装二进制安装源码安装优点安装简单,适合初学者安装简单,...
  • PHPStudy无法启动Apache和MySQL  PHPStudy是一款国产、小巧、方便的服务器软件集成环境,我觉得对于PHP初学者来说,最难的是PHP、Apache(Nginx或IIS)、MySQL环境的配置,尤其是在Window环境(比起类Unix环境...
  • 使用glibc编译后的mysql二进制安装方法被广泛使用,因为它和Windows的zip方式一下,简单几个步骤,配置一下环境即可。而在Linux 7版本中,MySQL的自启动,不再建议将启动脚本存放到/etc/init.d目录中,因此,我们...
  • 一般启动mysql可以使用/etc/init.d/mysqld启动进行启动 #/etc/init.d/mysqld start 也可以使用/usr/local/mysql/bin/mysqld_safe进行启动 chown -R mysql:mysql /data 1)#/usr/local/mysql/scripts/mysql_...
  • 版权声明: ... 一.启动 1.1 MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root 2161 1 0 09:38 ? 00:00:00 /bin/sh /usr/bin/m...
  • 一、MySql数据库在Unix/Linux C的使用 Linux MySql数据库开发 MySql与C联合开发 开发库的安装 MySql C API 编程实例 1、软件包需要 1)MySql服务器 mysql-server-3.23.54a-11 mysql-s
1 2 3 4 5 ... 20
收藏数 65,488
精华内容 26,195
关键字:

unix下启动mysql