zoukankan      html  css  js  c++  java
  • 【转】CentOS 编译安装MySQL全过程

    原文:http://blog.csdn.net/jiangfeng08/article/details/5752390
    官方参考:http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.5/en/source-installation.html

    其他参考:http://www.orczhou.com/index.php/2010/06/compile-mysql-from-source/
    http://os.51cto.com/art/201002/182532.htm

    1、到chinaunix下载mysql

    下载地址: http://download.chinaunix.net/download/0008000/7159.shtml

    2、上传到CentOS服务器

    本例放在 /home/jiangfeng3 中

    3、创建mysql组及用户

    [root@localhost ~]# groupadd mysql

    [root@localhost ~]# useradd -g mysql mysql


    4、编辑文件权限

    [root@localhost ~]# chmod 755 mysql-5.0.75.tar.gz



    5、CentOS mysql编译和安装

    解压:
    [root@localhost ~]# tar zxvf mysql-5.0.75.tar.gz 

    进入到mysql安装包

    [root@localhost ~]# cd mysql-5.0.75


    配置参数

    [root@localhost ~]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/var/mysql.sock --with-named-curses-libs=/usr/lib/libncursesw.so.5



    预编译

    [root@localhost ~]# make


    安装
    [root@localhost ~]# make install


    6、配制CentOS mysql安装只是第一步,我们还要对CentOS mysql进行相应的配制


    一般的情况下CentOS mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。

    让CentOS mysql服务器启动时能找到它。我们安装好CentOS mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。


    一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;

    进入/usr/local/mysql这个目录,

    看一下是不是已经安装好了呢??
    [root@localhost ~]# cd /usr/local/mysql/
    [root@localhost ~]# ls
    bin include info lib libexec man mysql-test share sql-bench


    我们把/usr/local/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。


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


    做了这些工作以后,还得创造CentOS mysql授权表, 否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。


    CentOS mysql安装的命令都安装到了/usr/local/mysql/bin这个目录中。


    [root@localhost mysql]#/usr/local/mysql/bin/mysql_install_db


    运行mysql_install_db命令过后,我们查看/usr/local/mysql就会发现,有个var的目录。

    这个目录,就是用来装所有数据库的位置,比如我们创建了linuxsir的数据库后,

    就在在//usr/local/mysql/mysql/var目录中有linuxsir的目录。这回应该明白了吧。


    7、启动CentOS mysql服务器,可能这是最轻松的了,不过也不能高兴的太早,因为有时会出现权限方面的错误。


    CentOS mysql服务器启动,应该是/usr/local/mysql/share/mysql目录中的 mysql.server


    启动方法是:
    [root@localhost mysql]# /usr/local/mysql/share/mysql.server start


    如果不能启动请运行/usr/local/mysql/bin/mysqld_safe --user=root 就能够启动了!!


    接着输入/usr/local/mysql/share/mysql/mysql.server start即可成功启动


    好了,我们把密码设置为123456 /usr/local/mysql/bin/mysqladmin -u root password 123456


    如果没有返回错误说明正确了。

    接着输入/usr/local/mysql/bin/mysql -u root -p就可以管理CentOS mysql安装了。

    ===============================
    配置环境变量

    linux下如何设置mysql的环境变量

    我在AS5下安装完mysql之后,在启动过程中,发现如下问题:

    我直接输入:
    mysql -u root -p
    提示bash: mysql: command not found

    然后我到/usr/local/mysql/bin下输入:
    mysql -u root -p
    还是提示bash: mysql: command not found

    然后我输入:
    ./mysql -u root -p
    ok,可以了。

    这里是因为环境变量没设!

    linux下设置mysql的环境变量:
    /etc/profile中添加:
    export PATH=$PATH:/usr/local/mysql/bin       就OK

    其他的变量都类似了 关键是明白各个配置文件在系统中的原理


    ====================================================
    ====================================================

    重启MySQL
    以下Linux下重启MySQL的正确方法:

    1、通过rpm包安装的MySQL

    service mysqld restart

    2、从源码包安装的MySQL

    // linux关闭MySQL的命令

    $mysql_dir/bin/mysqladmin -uroot -p shutdown

    // linux启动MySQL的命令

    $mysql_dir/bin/mysqld_safe &
    或者:$mysql_dir/bin/mysqld_safe --user=root        

    其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下,很容易找到的。

    3、以上方法都无效的时候,可以通过强行命令:“killall mysql”来关闭MySQL,但是不建议用这样的方式,因为这种野蛮的方法会强行终止MySQL数据库服务,有可能导致表损坏……所以自己掂量着用。


    ========================================
    ========================================

    远程无法连接MySQL的问题:
    Mysql默认只能本机访问.如果需要其他机器远程访问,需要设置.

    1> 增加一个用户,用来进行远程登陆.用上方法6中的localhost登陆mysql,执行sql语句" GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; "增加一个用户名为myuser,密码为mypassword.其中的"%"表示所有机器都可以访问.用上方法4重新启动MySql.

    2> 这样过后,在本机上可以用命令"mysql -h <自己机器的IP> -u myuser -p"来登陆MySql.说明设置成功.

    3> 最重要一点.你这个时候可以发现,在本机器上可以连接MySql.但是在其他机器上用相同方法,会出现" Can't connect to MySQL server on '9.186.100.178' (10065)"的错误.分析原因是AS4的防火墙导致.用下面方法设置防火墙:打开文件/etc/sysconfig/iptables,在最后一条之 前加一条:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT. 然后执行 /etc/init.d/iptables restart. 至此设置AS4防火墙完毕.
    更省事点就是直接关闭防火墙:service iptables stop


    改表法
    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
    mysql -u root -p123
    mysql>use mysql;
    mysql>update user set host = '%' where user = 'root';

    改表法。
    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
    mysql -u root -p123
    mysql>use mysql;
    mysql>update user set host = '%' where user = 'root';

    阅读(313) | 评论(0) | 转发(0) |
    0

    上一篇:【转】linux vi vim 的使用

    下一篇:经典语句

    给主人留下些什么吧!~~
    评论热议
  • 相关阅读:
    webdav srs相关
    How To Configure WebDAV Access with Apache on Ubuntu 14.04
    ubuntu 编译lighttpd
    srs编译及推流测试
    Compile pciutils (lspci, setpci) in Windows x86,在 Windows x86 平台下编译 pciutils (lspci, setpci)
    mingw MSYS2 区别
    Qt之美(三):隐式共享
    Qt之美(二):元对象
    Qt之美(一):d指针/p指针详解
    C++的栈空间和堆空间
  • 原文地址:https://www.cnblogs.com/black/p/5171817.html
Copyright © 2011-2022 走看看