MySQL数据库的启动与终止_MySQL
由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样。你可以根据实际情况使用其中的一种。在你安装、升级或者维护系统时,你可能需要多次启动和终止服务器,你需要了解启动和终止服务器的方方面面。
直接运行守护程序
1、你可以采用的方法
一般的,你可以有以下几种选择启动MySQL服务器,它们的功能和用法几乎是相同的,所以一起在这里介绍:
直接使用MySQL守护程序mysqld启动数据库系统,尤其是Win32平台上的分发,这是因为,在Win32平台上没有mysql.server等服务器脚本可用。
通过调用safe_mysqld脚本,它接受与mysqld相同的参数,并试图为mysqld决定正确的选项,然后选择用那些运行它。
2、脚本或者守护程序的存放位置
对于二进制分发的安装,mysqld守护程序安装在MySQL安装目录的bin目录下,或者可在MySQL源代码分发的libexec目录下找到,缺省为/usr/local/libexec/。对于rpm分发,mysqld应该位于PATH变量决定的程序搜索路径中,因此可以直接引用。
safe_mysqld仍旧是一个脚本,并且只存在于Unix平台的分发中。safe_mysqld脚本安装在MySQL安装目录的bin目录下,或可在MySQL源代码分发的scripts目录下找到。对于rpm分发,该脚本应该位于PATH变量决定的程序搜索路径中,因此可以直接引用。
3、为什么要使用safe_mysqld脚本
safe_mysqld接受和mysqld同样的参数,并试图确定服务器程序和数据库目录的位置,然后利用这些位置调用服务器。 safe_mysqld将服务器的标准错误输出重定向到数据库目录中的错误文件中,并以记录的形式存在。启动服务器后,safe_mysqld还监控服务器,并在其死机时重新启动。safe_mysqld通常用于Unix的BSD风格的版本。
如果,你曾经为root或在系统启动程序中启动safe_mysqld,其错误日志将有root拥有。如果再用非特权的用户身份调用safe_mysqld,则可能引起“Access Denied”(即,“所有权被拒绝”)的错误。此时可以删除错误文件在试一次。
由于safe_mysqld脚本的功能,使用safe_mysqld脚本明显比直接启动mysqld守护程序来得有效。
4、启动服务器的完整过程
对于Unix平台上的分发,如果你以root或在系统引导期间启动sqfe_mysqld,出错日志由root拥有,这可能在你以后试图用一个非特权用户调用safe_mysqld时将导致“permission denied”(权限拒绝)错误,删除出错日志再试一下。因此建议你在启动服务器前,首先切换到一个专门的用户mysql。
具体方法如下:
Unix平台
$ su mysql
$ safe_mysql & (或者 mysqld & ,不推荐)
Win32平台
C: / mysql/bin>mysqld --standalone
或者C: / mysql/bin>mysqld-nt –standalone
如果你使用mysqld并且没有把mysql安装在标准的位置,通常需要提供—basedir选项你的数据库的安装位置。
$safe_mysqld --basedir=”/path/to/mysql” &(Unix平台)
c:/mysql/bin>mysqld --basedir=”x:/path/to/mysql” (Win32平台)
5、使用safe_mysqld脚本实现服务器的自动启动
同样你可以利用safe_mysqld和mysqld实现服务器随操作系统自动启动。对于Linux系统以及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
由于这样在引导时启动,将使用root身份启动数据库,在某些时候可能会产生问题和麻烦。这是你可以指定--user选项,因此可以将上面的代码修改为:
if [ -x /usr/local/bin/safe_mysqld ]; then
/usr/local/bin/safe_mysqld --user=mysql --datadir=/path/to/data &
fi
使用脚本mysql.server启动关闭数据库
对于Unix平台上的分发,比较好的办法是使用数据库脚本mysql.server,启动和关闭数据库。
1、mysql.server脚本的存放位置
mysql.server脚本安装在MySQL安装目录下的share/mysqld目录下或可以在MySQL源代码分发的 support_files目录下找到。对于rpm分发,该脚本已经改名mysql位于/etc/rc.d/init.d目录中,另外在….中存在一个副本mysql.server。下文的讨论对RPM分发来说,都在安装中完成了。如果你想使用它们,你需要将它们拷贝到适当的目录下。
2、如何使用mysql.server脚本启动停止服务器
mysql.server脚本可以被用来启动或停止服务器,通过用start或stop参数调用它:
$ mysql.server start
$ mysql.server stop
3、mysql.server的功能简述
在mysql.server启动服务器之前,它把目录改变到MySQL安装目录,然后调用safe_mysqld。如果你有在一个非标准的地点安装的二进制分发,你可能需要编辑mysql.server。修改它,运行safe_mysqld前,cd到正确的目录。
4、让mysql.server以特定的用户启动服务器
如果你想要作为一些特定的用户运行服务器,你可以改变mysql_daemon_user=root行使用其他用户,你也能修改mysql.server把其他选项传给safe_mysqld。
当然你也可以利用选项文件给mysql.server脚本提供参数。
你也可以在一个全局“/etc/my.cnf”文件中增加mysql.server的选项。一个典型的“/etc/my.cnf”文件可能看起来像这样:
[mysqld]
datadir=/usr/local/mysql/var
socket=/tmp/mysqld.sock
port=3306
[mysql.server]
user=mysql
basedir=/usr/local/mysql
mysql.server脚本使用下列变量:user、datadir、basedir、bindir和pid-file。
5、利用mysql.server脚本让服务器自动启动
mysql.server脚本的重要性在于你可以使用它配置一个随操作系统自动启动的数据库安装,这是一个实际的系统中常用的方法。
把mysql.server复制到/etc/rc.d/init.d目录里面:
# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server mysql
接着把它的属性改为“x”(executable,可执行)
# chmod +x mysql
最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。
# /sbin/chkconfig --del mysql
# /sbin/chkconfig --add mysql
你也可以这样做,手工建立链接:
#cd /etc/rc.d/rc3.d (根据你的运行级不同而不同,可以是rc5.d)
#ln –s ../init.d/mysql S99mysql
在系统启动期间,S99mysql脚本利用start参数自动启动。
使用mysqladmin实用程序关闭、重启数据库
日常维护数据库,经常需要关闭或者重新启动数据库服务器。mysql.server stop只能用于关闭数据库系统,并不方便,而且mysql.server脚本用特定用户身份启动服务器,因此使用该教本需要超级用户的权限。相比之下 mysqladmin就方便的多,并且适用于MySQL所有类型、平台的安装。
关闭数据库服务器
mysqladmin shutdown
重启数据库服务器
mysqladmin reload
获得帮助
mysqladmin –help
mysqladmin实用程序非常有使用价值,仔细阅读帮助输出,你会得到更多的用法。
如果出现下面的错误:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user: 'root@localhost' (Using password: YES)'
表示你需要一个可以正常连接的用户,请指定-u -p选项,例如,你现在可以:
shell>mysqladmin -u root -p shutdown
Enter Password:***********
输入你修改过的密码即可。
启动或停止NT平台上的系统服务
上面几节介绍了Unix平台上使数据库服务器自动启动的方法,而在windows(NT)平台上为了让MySQL数据库自动启动,你需要将MySQL服务器安装成NT系统的一种服务。
1、将MySQL安装成系统服务
对于NT,服务器名字是mysqld-nt。
C:/mysql/bin> mysqld-nt --install
(你可以在 NT 上使用mysqld或mysqld-opt服务器,但是那些不能作为一种服务启动或使用命名管道。)
2、修改选项文件
如果你的mysql没有安装缺省的位置c:/mysql,那么因为数据库将无法确定数据库目录的位置,而无法启动。这种情况下,你需要提供一个全局的选项文件c:/my.cnf。将安装目录中的my-example.cnf文件拷贝到c盘根目录下。修改或加入:
[mysqld]
basedir = x:/path/to/mysql/
3、启动、停止服务器的方法
你可以用下列命令启动和停止MySQL服务:
NET START mysql
NET STOP mysql
注意在这种情况下,你不能对mysqld-nt使用任何其他选项!你需要使用选项文件提供参数。可以在选项文件中提供合适的参数。
使用选项文件提供服务器的参数
本节介绍守护程序需要的比较重要的选项。
对于全局选项文件(windows:c:/my.cnf 或者 unix:/etc/my.cnf),比较重要的选项有:
user 运行守护程序的用户,如果你使用mysql.server,并且在[mysql.server]中指定了user,那么这个选项没有必要。
log-update=file 更新日志名,对于恢复数据库有重要意义,数据库服务器将生成file.n为名的更新日志文件。
-l, --log[=file] 指定常规日志名
--log-bin[=file] 指定使用的二进制日志文件,应用于服务器复制。
-Sg, --skip-grant-tables 启动时不加载授权表,维护时使用。
-u, --user=user_name 启动服务器使用的Unix帐户
--socket=... 指定是用的Unix套接字文件名,在同时运行多个服务器时使用。
-P, --port=... 指定服务器使用的端口,在同时运行多个服务器时使用。
总结
作为MySQL的管理员,你平时的指责就是确保服务器尽可能的正常运行,使得客户机能够正常访问。本章讨论了如何启动和重启、关闭服务器,如果你具备了这个能力,就可以更好的维护服务器安装。本章介绍的方法,多数适合于Unix系统,读者请仔细分辨

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

解決方法:1、檢查電驢設置,確保已輸入正確的伺服器位址和連接埠號碼;2、檢查網路連接,確保電腦已連接到互聯網,並重置路由器;3、檢查伺服器是否在線,如果您的設定和網路連線都沒有問題,則需要檢查伺服器是否在線上;4、更新電驢版本,造訪電驢官方網站,下載最新版本的電驢軟體;5、尋求協助。

RPC伺服器不可用進不了桌面怎麼辦近年來,電腦和網路已經深入到我們的生活中的各個角落。作為一種集中運算和資源共享的技術,遠端過程呼叫(RPC)在網路通訊中起著至關重要的作用。然而,有時我們可能會遇到RPC伺服器無法使用的情況,導致無法進入桌面。本文將介紹一些可能導致此問題的原因,並提供解決方案。首先,我們需要了解RPC伺服器不可用的原因。 RPC伺服器是一種

身為LINUX用戶,我們經常需要在CentOS上安裝各種軟體和伺服器,本文將詳細介紹如何在CentOS上安裝fuse和建置伺服器的過程,幫助您順利完成相關操作。 CentOS安裝fuseFuse是一個使用者空間檔案系統框架,允許非特權使用者透過自訂檔案系統實現對檔案系統的存取和操作,在CentOS上安裝fuse非常簡單,只需按照以下步驟操作:1.開啟終端,以root用戶登入。 2.使用下列指令安裝fuse軟體包:```yuminstallfuse3.確認安裝過程中的提示,輸入`y`繼續。 4.安裝完

DHCP中繼的作用是將接收到的DHCP封包轉送到網路上的另一個DHCP伺服器,即使這兩台伺服器位於不同的子網路中。透過使用DHCP中繼,您可以實現在網路中心部署集中式的DHCP伺服器,並利用它為所有網路子網路/VLAN動態分配IP位址。 Dnsmasq是一種常用的DNS和DHCP協定伺服器,可設定為DHCP中繼伺服器,以協助管理網路中的動態主機設定。在本文中,我們將向您展示如何將dnsmasq配置為DHCP中繼伺服器。內容主題:網路拓樸在DHCP中繼上設定靜態IP位址集中式DHCP伺服器上的D

在網路資料傳輸中,IP代理伺服器扮演著重要的角色,能夠幫助使用者隱藏真實IP位址,保護隱私、提升存取速度等。在本篇文章中,將介紹如何用PHP建立IP代理伺服器的最佳實務指南,並提供具體的程式碼範例。什麼是IP代理伺服器? IP代理伺服器是位於使用者與目標伺服器之間的中間伺服器,它可作為使用者與目標伺服器之間的中轉站,將使用者的請求和回應轉發。透過使用IP代理伺服器

查看伺服器狀態的方法有使用命令列工具、圖形介面工具、監控工具、日誌檔案和遠端管理工具等。詳細介紹:1、使用命令列工具,在Linux或Unix伺服器上,可以使用命令列工具來查看伺服器的狀態;2、使用圖形介面工具,對於具有圖形介面的伺服器作業系統,可以使用系統提供的圖形介面工具來查看伺服器狀態;3、使用監控工具,可以使用專門的監控工具來即時監視伺服器的狀態等等。

開啟TFTP伺服器的步驟包括選擇TFTP伺服器軟體、下載和安裝軟體、設定TFTP伺服器以及啟動和測試伺服器等。詳細介紹:1、選擇TFTP伺服器軟體,首先需要選擇適合自己需求的TFTP伺服器軟體,目前有許多可供選擇的TFTP伺服器軟體,例如Tftpd32、PumpKIN、tftp-hpa等,這些軟體都提供了簡單易用的介面和設定選項;2、下載和安裝TFTP伺服器軟體等等。

epic伺服器離線進不了遊戲怎麼辦?這個問題想必很多小夥伴都有遇過,出現了此提示就是導致正版的遊戲無法啟動,那麼出現這個問題一般是網絡和安全軟體幹擾導致的,那麼應該怎麼解決呢,本期小編就來和大夥分享解決方法,希望今日的軟體教學可以幫助各位解決問題。 epic伺服器離線進不了遊戲怎麼辦: 1、很可能是被安全軟體幹擾了,將遊戲平台和安全軟體關閉在重啟。 2、其次就是網路波動過大,嘗試重啟一次路由器,看看是否有效,如果條件可以的話,可以嘗試使用5g移動網絡來進行操作。 3、然後有可能是更
