• 在centos6.6中mysql5.5的编译、安装、配置


      今天根据需求要在centos6.6上编译安装mysql5.5,因为以前编译安装过感觉很简单,但是今天还是出现了点小问题,所以把过安装过程总结了一下:

       好像从mysql5.5开始编译安装mysql需要用到cmake工具进行编译安装,既然是编译安装,那么肯定要用到一些依赖的类库以及相关的编译工具,所以需要事先安装相关工具。

      

    一 、编译安装

    1.安装mysql编译过程中所需要的依赖关系以及编译工具(需要先配置好yum源)

    # yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel bison cmake

    2.使用yum安装cmake编译工具

    #yum -y  install cmake

    wKiom1fEAvmxoV8sAAAtH6QmZN8890.png-wh_50

    3.安装前需要检查一下是否安装mysql,如果有就卸载掉

    # rpm -qa | grep mysql

    4.下载mysql源码包,并解压

    # tar xvf mysql-mysql-5.5.35.t15.tar

    或者解压到指定目录(如:/usr/local)

    # tar xvf mysql-mysql-5.5.35.t15.tar -C /usr/local

    wKioL1fEA8-iKjLaAAAOmEmLo04589.png-wh_50

    5.进入到mysql的解压目录,使用cmake编译、安装

    # cd mysql-mysql-5.5.35.t15

     1)使用cmake编译(根据自己的具体要求选择编译参数,下边的选项参数仅供参考)

    #cmake

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
    -DMYSQL_DATADIR=/usr/local/mysql/data 

    -DSYSCONFDIR=/etc 

    -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock 

    -DDEFAULT_CHARSET=utf8 

    -DDEFAULT_COLLATION=utf8_general_ci

    wKiom1fEBEaAIbhmAAAmqVuwOsQ364.png-wh_50

     2)安装

    #make && make install

    wKiom1fEBI-RAPM-AAAvGqz13Io731.png-wh_50

    稍等一会。。。

    6.需要创建mysql用户和mysql组,并修改mysql安装目录的所属用户和组

     1)创建mysql用户和mysql组

    #groupadd mysql

    #useradd -g mysql -s /sbin/nologin mysql

     2)修改mysql安装目录的所属用户和组

    #chown -R mysql:mysql /usr/local/mysql

    wKioL1fEBNuAaq4yAAAwB5pj-KQ925.png-wh_50

    7.进入mysql安装目录,执行初始化脚本,创建mysql自带的数据库和表

    # cd /usr/local/mysql

    wKioL1fEBQfwuAf7AAAUtuFCqKM278.png-wh_50

    # cd scripts/

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

    如果出现utf8_general_ci 报错,在/etc/my.cnf中 [mysqld]   character_set_server=utf8

                           [client]   default-character-set = utf8

    wKiom1fEBSzwQoojAAAfLRXGMDs518.png-wh_50

    8.修改配置文件

    # vi /etc/my.cnf

    wKioL1fEBa6QBX3bAAAPq2tIhSQ349.png-wh_50

    9.添加服务,设置mysql服务开机自启

     1)添加服务,进入mysql安装目录,拷贝目录/support-files下的mysql.server文件到/etc/init.d/目录下,并重名为mysql

    #cd /usr/local/mysql

    #cp support-files/mysql.server /etc/init.d/mysql

     2)设置开机自启

    # chkconfig mysql on

    10.启动mysql服务

    wKioL1fEBePxKJbZAAAMVxc7MBc756.png-wh_50

    11.编译安装的mysql没有初始密码,所以要给root用户设置初始密码

    #/usr/local/mysql/bin/mysqladmin -u root password '123456'

    wKiom1fEBhnykiSTAAAMGR34bgA822.png-wh_50

    12.因为手动编译的,所有要为mysql添加环境变量,不然在终端中输入mysql将会提示命令找不到

     1)编辑/etc/profile,在文件末尾添加如下内容

    export PATH=$PATH:/usr/local/mysql/bin

    如:

    wKiom1fEBkyzr-qsAAAQTR-I7XE885.png-wh_50

    2)使文件立即生效

    #source /etc/profile

    13.现在mysql的安装配置基本完成,可以去登陆、使用

    wKiom1fEBoLT6SI3AAAHxokX6FI652.png-wh_50

    登录时如果出现:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)错误

    可以修改/etc/my.cnf

    添加如下内容:

    [client]

    socket=/var/lib/mysql/mysql.sock

    如:

    wKioL1fEBsiyfhMDAAAdJwDe4LI801.png-wh_50

    14.如果希望其它远程主机访问该mysql,可以进行如下操作

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

    wKioL1fEBxSxC4XYAAAYYUvQKZk199.png-wh_50

    或者也可以去修改mysql库中的user表,添加指定的host主机

    15.由于防火墙默认没有开启3306端口,所以需要手动开启此端口

    编辑/etc/sysconfig/iptables

    添加如下内容

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    wKiom1fEBz3BZzVaAAAWNWrW4iE920.png-wh_50

    16.此时我们可以查看一下允许访问该数据库的主机、用户等信息

    进入mysql库,查看user表信息

    mysql>use mysql

    mysql>select host,user,password from user;

    wKiom1fEB6fyPuFDAAAfpBVGjsg948.png-wh_50

    可以看到我们分别设置的两个密码(本地访问mysql的root用户密码和远程访问mysql的root用户的密码)

    如果需要指定某些主机可以访问该数据库,则可以修改该表,添加指定主机的ip到该表中。

    17.如果要更改数据库的默认端口,则需要更改配置文件/etc/my.cnf

    添加如下内容:

    port:端口号 

    例如:

    wKioL1fEB-DDoIv5AAARLjflrrs252.png-wh_50

    然后重启mysql服务

    #service mysql restart

    注意:如果此处修改了默认端口号,则防火墙允许访问的端口号也要进行更改,要与此文件中的端口号保持一致

    18.如果在局域网内出现连接mysql比较慢的情况,可能是与mysql的DNS反向解析有关,可以把此功能关闭掉

    修改文件/etc/my.cnf,添加如下内容:

    skip-name-resolve

    如:

    wKioL1fECCTD6trAAAATWcEKlFQ845.png-wh_50

    重启mysql服务即可。

  • 相关阅读:
    转:ITIL的開源軟件
    转:Asp.Net大型项目实践
    转:Ubuntu上apache多端口配置虚拟主机的方法
    转:JS 获取鼠标位置
    转:一切整合分享到新浪网易微博代码
    转:Facebook是如何发布代码的
    转:利用 Amazon Web Services 集成企业应用程序使用 Amazon SQS 发送 XML 消息
    sqlite3 常用操作
    转:4 款消息队列软件产品大比拼
    SQL Server 2008 列转行 实例
  • 原文地址:https://www.cnblogs.com/sqbk/p/5890378.html
Copyright © 2020-2023  润新知