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

手动安装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、mysqlserver、mysqld_multi.docx

    MySQL常用工具介绍之服务器启停工具mysqld_safe、mysqlserver、mysqld_multi.docx

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

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

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

    mysqld_safe脚本执行的基本流程:1、查找basedir和ledir。2、查找datadir和my.cnf。3、对my.cnf做一些检查,具体检查哪些选项请看附件中的注释。4、解析my.cnf中的组[mysqld]和[mysqld_safe]并和终端里输入的命令合并...

    Mysql启动的方式(四种)

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

    linux下启动mysql服务

    3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、 mysqladmin shutdown 三、重启 1、使用 service 启动...

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

    前几天读了下mysqld_safe脚本,个人感觉还是收获蛮大的,其中细致的交代了MySQL数据库的启动流程,包括查找MySQL相关目录,解析配置文件以及最后如何调用mysqld程序来启动实例等,有着不错的参考价值;与此同时,...

    mysql使用说明

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

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

    主要给大家介绍了关于MySQL不停地自动重启的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    linux下安装proftp+mysql的过程

    5:使用mysql用户shell> scripts/mysql_install_db 6:使用mysql用户shell> bin/mysqld_safe --user=mysql & 二.解决客户端连接服务端权限问题 grant select,update,insert,delete on *.* to admin@localhost ...

    解决mysql登录错误:’Access denied for user ‘root’@’localhost’

    首先是不知道怎么忽然mysql用命令行,workbench都登录不了,都提示’Access denied for ...以安全模式启动MySQL~$ sudo mysqld_safe --skip-grant-tables & 注意: 可能提示mysqld_safe Directory ‘/var/run/mysqld

    完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)

    160920 22:41:41 mysqld_safe Starting mysqld daemon with databases from /home/MysqlData/ 2016-09-20 22:41:41 0 [Note] /Data/app/mysql5.6.25/bin/mysqld (mysqld 5.6.25-log) starting as process 32372 … ...

    mysql四种启动方式

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

    Mysql5.7修改root密码教程

    版本更新,原来user里的password字段已经变更为authentication_string 版本更新 缘故,好多网上的教程都不适用了,甚至连官网的文档也...使用mysql连接server 更改密码: update mysql.user set authentication_string

    mysql授权、启动、启动服务常用命令

    一、 四种启动方式: 1、mysqld 启动mysql服务器: ./...启动mysql服务器: ./mysqld_safe --defaults-file=/etc/my.cnf --user=root & 客户端连接: mysql --defaults-file=/etc/my.cnf 或 mysql -S /tm/mysql.soc

    ARM mysql 5.1.32

    4.运行mysqld_safe& 服务(daemon); 5.mysql为客户端管理工具; 6.mysql_gui_toos windows平台管理工具; 需要第三方库:libz.so,ncurses-5.6 参见:...

    MySQL 启动报错:File ./mysql-bin.index not found (Errcode: 13)

    Linux下安装初始化完MySQL数据库之后,使用mysqld_safe启动mysql数据库,如下发现,启动失败 [root@SVNServer bin]# ./mysqld_safe –user=mysql& 或 [root@SVNServer bin]# /etc/init.d/mysqld start Starting ...

    MySQL安装和密码重置.pdf

    如何使用mysql_secure_installation进行MySQL安全设置:mysql_secure_installation是一个MySQL脚本,可帮助您执行常见的安全设置,例如禁用匿名用户、删除测试数据库等。 这些资源应该涵盖了MySQL

    MySQL 5.6.25 源码包+安装方法 (mysql-5.6.25.tar.gz)

    4.4 启动mysql_safe # bin/mysqld_safe --user=mysql & 4.5 设置MySQL的root帐号密码 - 自动设置:# ./bin/mysql_secure_installation 或 - 手动置:# ./bin/mysqladmin -u root password '<PASSWORDHERE>' -------...

Global site tag (gtag.js) - Google Analytics