`
san_yun
  • 浏览: 2653126 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

手动安装mysql,使用mysqld_safe启动mysql服务

 
阅读更多

之前用过dpkg  或者rpm安装mysql,本文使用tar.gz的方式手动安装mysql

 

安装之前需要先 apt-get install libaio-dev #安装mysql需要

 

1.去官方下载mysql.tar.gz

http://www.mysql.com/downloads/mysql/

 

2. 解压 tar -xvf mysql.tar.gz

 我解压后的目录:/duitang/dist/sys/mysql

 

3.使用提供的script安装

cd script

./mysql_install_db --user=yunpeng  --basedir=/usr/local/mysql  --datadir=/duitang/data/mysql

 

4. 启动

cd ../bin

./mysqld_safe  --user=yunpeng --basedir=/duitang/dist/sys/mysql  --datadir=/duitang/data/mysql &

 

mysqld_safe --defaults-file=/duitang/dist/conf/mysql/my.cnf

 

 

注意datadir必须要指定,不然启动会报错:

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exis

 

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

错误:

安装的时候遇到这个错误:

/usr/local/mysql3306/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

需要安装 sudo apt-get install libaio-dev

 

 

 

修改默认密码

mysqladmin -u root -p password 'newpassword'

 

关闭mysql服务

yunpeng@yunpeng-duitang:/usr/local/mysql/bin$ mysqladmin shutdown
mysqladmin: shutdown failed; error: 'Access denied; you need (at least one of) the SHUTDOWN privilege(s) for this operation'

 

注意必须指定user
yunpeng@yunpeng-duitang:/usr/local/mysql/bin$ mysqladmin shutdown -u root -p

 

写了一个脚本启动

#!/bin/sh

mysql_port=3306
mysql_username="root"
mysql_password=""

function_start_mysql()
{
    printf "Starting MySQL...\n"
    /bin/sh /usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/data1/mysql/${mysql_port}/my.cnf 2>&1 > /dev/null &
}

function_stop_mysql()
{
    printf "Stoping MySQL...\n"
    /usr/local/webserver/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -h 127.0.0.1 -S /tmp/mysql.sock shutdown
}

function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 5
    function_start_mysql
}

function_kill_mysql()
{
    kill -9 $(ps -ef | grep 'bin/mysqld_safe' | grep ${mysql_port} | awk '{printf $2}')
    kill -9 $(ps -ef | grep 'libexec/mysqld' | grep ${mysql_port} | awk '{printf $2}')
}

if [ "$1" = "start" ]; then
    function_start_mysql
elif [ "$1" = "stop" ]; then
    function_stop_mysql
elif [ "$1" = "restart" ]; then
function_restart_mysql
elif [ "$1" = "kill" ]; then
function_kill_mysql
else
    printf "Usage: /data1/mysql/${mysql_port}/mysql {star|stop|restart|kill}\n"
fi
 

 

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

什么是mysqld_safe?

 在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。本节后面列出了NetWare的特定行为。

 

2./tmp/mysql.sock文件的作用是什么?

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

这个文件是用于socket连接的文件。
也就是只有你的守护进程启动起来这个文件才存在。
但是你的mysql程序(这个程序是客户端,服务器端时mysqld)可以选择是否使用mysql.sock文件来连接(因为这个方法只适合在Unix主 机上面连接本地的mysqld),对于非本地的任何类型的主机。这些在MySQL的手册(包括晏子翻译的中文版本,覆盖3.23/4.0版本)都有说明。 只要看看就可以明白。

 

3./etc/my.cnf

这个文件可以从/usr/local/mysql/support-files/copy过来。

ln -s /usr/local/mysql/support-files/my-smal.cnf /etc/my.cnf

 

参考:

http://forum.ubuntu.com.cn/viewtopic.php?f=44&t=229812

http://blog.51yip.com/category/mysql

分享到:
评论

相关推荐

    mysql安全启动脚本mysqld_safe详细介绍

    然而,当从MySQL-Max升级到非-Max版本时,需要手动删除旧的mysqld-max,以确保mysqld_safe启动新版本的mysqld。 mysqld_safe支持多种启动选项,允许用户自定义服务器的行为。例如: - `-help`:显示帮助信息并退出...

    mysql基础:mysqld_safe 启动执行流程详解

    10. **默认参数选择**:如果没有提供任何参数,`mysqld_safe`会使用一组预设的参数启动MySQL,这些参数通常是为确保服务正常运行的最小配置。 11. **异常处理和重启**:在服务器异常关闭的情况下,`mysqld_safe`...

    mysqld_safe启动脚本源码阅读、分析

    `mysqld_safe`是MySQL服务启动的重要脚本,它为MySQL服务器提供了一种安全启动的方式,确保在启动过程中能够处理各种异常情况。这个脚本是用Shell语言编写的,通常位于MySQL安装目录的`bin`子目录下。在本文中,我们...

    Mysql启动的方式(四种)

    废话不多说了,直奔主题了。 mysql的四种启动方式: ...启动mysql服务器:./mysqld_safe –defaults-file=/etc/my.cnf –user=root & 客户端连接: mysql --defaults-file=/etc/my.cnf or mysql -S /t

    MySQL不停地自动重启的解决方法

    有时候,使用`mysqld_safe`命令以安全模式启动MySQL,可以帮助识别并解决问题。 10. **修复权限问题**: 检查MySQL服务账户的文件系统权限,确保其能够正确读写数据文件和日志文件。 11. **检查启动脚本**: ...

    MySQL中服务器和服务器启动程序.pdf

    #### 二、mysqld_safe — MySQL Server 启动脚本 **mysqld_safe** 是Unix系统上推荐用来启动 **mysqld** 服务器的方式,它添加了一些额外的安全特性,如错误时重启服务器,并将运行时信息记录到错误日志中。 - **...

    linux下启动多个不同版本的mysql服务.docx

    1. 安装目录不同,不管是使用软件管理工具安装还是手动安装,多个 MySQL 服务器不能安装在同一个目录下。 2. 数据库文件存放的地方不同,即 my.cnf 文件中的 datadir 设置不能一样。 3. MySQL 服务器的启动端口不同...

    linux下安装mysql服务器

    启动 MySQL 服务可以使用 service mysqld start 命令,停止服务可以使用 service mysqld stop 命令。重启服务可以使用 service mysqld restart 命令,查看服务状态可以使用 service mysqld status 命令。 4. 设置...

    linux下启动mysql服务

    `safe_mysqld` 是一个用于安全地启动 MySQL 服务的脚本,它会在启动 MySQL 之前执行一系列检查以确保安全启动。`&` 符号表示将进程放到后台运行。 #### 二、停止 MySQL 服务的方法 对于停止 MySQL 服务的操作,也...

    ubuntu离线安装mysql

    sudo /usr/local/mysql/bin/mysql_secure_installation ``` 按照提示进行操作,包括设置密码、删除匿名用户、禁用远程 root 登录等。 8、**登录 mysql** 安装完成后,你可以通过以下命令登录 MySQL: ```bash ...

    使用mysqld_multi实现单系统中配置多个MySQL服务器实例

    `mysqld_multi` 是MySQL提供的一款实用工具,它使得在单个系统中配置和管理多个独立运行的MySQL服务进程成为可能。每个实例可以拥有自己的数据目录、配置文件以及监听不同的端口或使用不同的Unix套接字,从而实现...

    linux中mysql开机自动启动3种方法.docx

    第一种方法是使用 chkconfig 命令将 MySQL 服务添加到系统启动项中。chkconfig 是 Linux 系统中的一个工具,用于管理系统服务的启动和停止。我们可以使用以下命令将 MySQL 服务添加到系统启动项中: ``` cp /usr/...

    Centos6.7系统安装MySQL5.7总结

    使用mysql_ssl_rsa_setup命令来生成SSL证书。 七、修改系统配置文件 将my-default.cnf文件复制到/etc/my.cnf中,并将mysql.server文件复制到/etc/init.d/mysql中。编辑/etc/init.d/mysql文件,添加MySQL服务的启动...

    mysql四种启动方式

    详细描述了mysql5.6的四中启动方式,包括 1.mysqld直接启动 2.mysqld_safe安全启动 3.mysql_server启动 4.mysql_multi启动

    mysql使用说明

    MySQL AB提供了几种类型的程序:• MYSQL服务器和服务器启动脚本:o mysqld是MySQL服务器o mysqld_safe、mysql.server和mysqld_multi是服务器启动脚本o mysql_install_db初始化数据目录和初始数据库在第5章:数据库...

    linux下非root权限的mysql安装

    配置文件修改完成后,使用 mysqld_safe 命令启动 MySQL 服务。例如: ``` /home/gametest/xute/mysql/bin/mysqld_safe --defaults-file=/home/gametest/xute/mysql/my.cnf ``` 进入 MySQL 启动 MySQL 服务后,使用 ...

Global site tag (gtag.js) - Google Analytics