zoukankan      html  css  js  c++  java
  • my sql 5.22 linux 安装

    正文:
    MySQL版本: 5.0.22 (可到 MySQL.cn 中文站下载更加新的版本)

    其实MySQL在Linux下,只是一个软件...没咩大不了,就好像响你部电脑里边装佐个CS服务器一样...距只系用来提供SQL服务.

    其实整个安装过程并不复杂,~但网上好多网友们都说装好了这里不能用,那里不能用..都是因为细微的东西没有调好..而这篇手记,就记载了我整整一个国庆研究Linux下安装MySQL,为什么不成功的问题解决方法.

    先说说众所周知的安装方法.

    下载了mysql-5.0.22-2.1.i386.tar 和 mysql-devel-5.0.22-2.1.i386.rpm 安装包(记得devel最好开始就装上, 很多安装包依赖mysql.h的, 否则后面重装没商量).

    然后就 tar -zxvf mysql-5.0.22-2.1.i386.tar (就是解压缩)

    然后就进入已解压缩的目录 cd MySQL mysql-5.0.22-2.1.i386

    然后就 ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql

    以上命令意思备注:

    #prefix=/usr/local/mysql mysql    安装的目标目录

    #sysconfdir=/etc my.ini               配置文件的路径

    #localstatedir=/var/lib/mysql       数据库存放的路径

    等待若干分钟之后~就 make~

    make这个东西...对于MySQL源码包来说简直就是....我这台测试服务器的CPU是 PIII 1G 的~等上了我半个小时.

    然后就半个小时之后~~就 Make Install ...等大概几分钟.这样MySQL 就算安装完毕了.下边就开始做细微的东西.

    安装完以后要初始化数据库:

    /usr/local/mysql/bin/mysql_install_db

    如果系统没有mysql这个用户的话,最好做以下这步:

    useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql

    然后我启动mysql(下边这个启动代码的写法很重要,记住要加上执行用户 --user=XXX)

    /usr/local/mysql/bin/mysqld_safe --user=root& 或者 --user=mysql& 

    ok,先看看mysql能否正常工作


    一般情况下都是不能正常链接数据库,错误提示一般为:

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

    其实网上大家问的最多的都是整个问题,说什么链接不到mysqld.sock,其实大家不妨看看mysql的错误日志就明白怎么回事,我这里的错误日志是在

    /var/lib/mysql/*.err 你会发现mysql只所以不能启动,是因为/var/lib/mysql的权限不允许mysql服务访问,英文mysql默认是调用mysql用户来启动服务的,好了,既然知道是什么原因找到不能启动,那就简单了。我们只要

    chown -R mysql:mysql /var/lib/mysql 就行,如果还是启动不了,再慢慢调试权限,反正一般启动不了都是权限的问题。或者是少了什么目录...记得要看这个/var/lib/mysql/*.err 错误日志,他能告诉你错在哪.

    如果大家还是不能启动不了的话,那就用我的比较繁琐的权限的设置,反正我每次都是这么做的,一般不会有问题,见下:

    chown -R root /usr/local/mysql
    chgrp -R mysql /usr/local/mysql
    chown -R root /usr/local/mysql/bin
    chgrp -R mysql /usr/local/mysql/bin
    chgrp -R mysql /var/lib/mysql
    chmod 777 /var/lib/mysql
    chown -R root /var/lib/mysql/mysql
    chgrp -R mysql /var/lib/mysql/mysql
    chmod 777 /var/lib/mysql/mysql
    chown -R root /var/lib/mysql/mysql/*
    chgrp -R mysql /var/lib/mysql/mysql/*
    chmod 777 /var/lib/mysql/mysql/*
    chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

    做完上面的步骤,再次运行 /usr/local/mysql/bin/mysqld_safe --user=root&

    没有出现 End 这东西...就证明 MySQL成功运行了..

    再用端口命令证实一次 netstat-ant   ~~看到有 3306 端口,即已成功!

    然后把你编译目录的一个脚本COPY过去

    cp support-files/mysql.server /etc/rc.d/init.d/mysqld

    chkconfig --add mysqld

    用ntsysv设置使mysql每次启动都能自动运行。

    但!,往往很多网友都发现,当他们重新启动服务器MySQL不能自动启动.

    运行 etc/rc.d/init.d/mysqld start 的时候..就出现 [ 失败 ]

    而运行/usr/local/mysql/bin/mysqld_safe --user=root&  就成功的.

    为什么?? 这个就是郁闷了我这么久的原因!!..原来..Linux As4这个版本对权限要求很严格!!..我们刚刚开始新建的帐户mysql..没有运行程序的权限.而 etc/rc.d/init.d/mysqld start 这个教本的执行默认用户,就偏偏是 mysql

    所以就导致了怎样也启动不了.同样道理.~如果运行的是

    运行/usr/local/mysql/bin/mysqld_safe --user=mysql & 而不是 --user=root& 的话,一样执行不了.

    所以!...只要把 mysql 这个用户,在mysql组里边的同时,再添加到root组.~就是说,拥有root那样,能够执行程序的权限.

    再次执行etc/rc.d/init.d/mysqld start  试试~~嘿嘿!成功啦!..

    再试试重新启动~~一开完机,就输入 netstat -ant 看看!..嘿嘿!~..3306 显在了!

    /usr/local/mysql/bin/mysqladmin -u root -p password 'mysql的root密码'

    再通过以上命令修改MySQL的密码~

    好了,至此mysql安装完毕.

    注意很多时候我们源码安装一些依赖Mysql的程序包时, 提示Cannot find MySQL header files, 这是因为没有装开发版的原因,或者没有正确指定路径,

    • 一般先找找看

    find / -name mysql.h

    • 找不到就要安装了: 下载mysql-devel-5.0.22-2.1.i386.rpm 安装包(记得devel最好开始就装上, 很多安装包依赖mysql.h的, 否则后面重装没商量).

    rpm -ivh mysql-devel-5.0.22-2.1.i386.rpm

  • 相关阅读:
    关于linux命令 cp,rm,mv执行时是否询问的问题,不同用户有不同的别名设置
    用jquery根据json动态创建多级菜单导航(by https://www.cnblogs.com/fatty-yu/p/7088955.html)
    前台向后台传值的两种方法 以及 从后台获取数据的方法
    “加载更多”功能如何实现
    AngularJS的主要组成部分:
    数组与字符串的相互转化
    angular过滤器的使用 By http://www.tuicool.com/articles/ueUZBv
    transclude
    内嵌模版 template 原创
    导航栏选中效果 ng-repeat
  • 原文地址:https://www.cnblogs.com/yinpengxiang/p/1416124.html
Copyright © 2011-2022 走看看