zoukankan      html  css  js  c++  java
  • Linux安装MySQL源码安装

    第一步:安装cmake工具:
    1.下载cmake工具
    tar xvf cmake-2.8.8.tar.gz
    cd cmake-2.8.8
    2.将cmake工具编译到指定位置,示例/usr/local/src
    ./bootstrap --prefix=/usr/local/src
    3.编译>>执行
    make
    make install

    第二步:安装MySQL
    1.下载软件包mysql-5.0.22.tar.gz,地址http://www.mysql.com,一般不推荐安装rpm形式的;
    2.把下载下来的mysql-5.0.22.tar.gz放在usr目录下并解压:
    # tar zvxf mysql-5.0.22.tar.gz
    3.# cd mysql-5.0.22 //进入解压缩后的文件目录;
    4. 创建mysql组,如果需要可以再创建一个mysql用户,并添加到mysql组,也可以将当前用户添加到mysql组
    # /usr/sbin/groupadd mysql //创建mysql组
    # /usr/sbin/useradd -g mysql mysql //创建mysql用户
    5.安装
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/usr/local/mysql/data \
    -DMYSQL_TCP_PORT=3306
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_EXTRA_CHARSETS=all \
    -DWITH_EXTRA_CHARSETS:STRING=utf8 \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DENABLED_LOCAL_INFILE=1
    5.编译:# make //只是一个make就够了
    6.安装:# makeinstall //这两步都要一些时间

    7.安装完添加一个mysql用户组并设置权限:
    #chmod +w /usr/local/mysql
    #chown -Rroot:mysql /usr/local/mysql //demo以root用户为例

    8.配置
    #cd support-files/

    #cp my-large.cnf /var/mysql/my.cnf(如果是debian,my.conf需要放在/etc/mysql/下面)

    #cp mysql.server /etc/init.d/mysqld

    9.配置启动MySQL,若有需要请先修改 mysql 的配置 my.cnf

    vi /var/mysql/my.cnf(配置如下参数,其他的可更具需要配置)

    basedir=/usr/local/mysql \
    datadir=/usr/local/mysql/data \
    user=root

    10.mysql 初始化安装

    # chmod 777 /usr/local/mysql/data
    # scripts/mysql_install_db \
    --basedir=/usr/local/mysql \
    --datadir=/var/mysql/data \
    --user=mysql

    11. 将 mysql 加入开机启动

    #chmod +x /etc/init.d/mysqld

    #vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容,以下两个参数若在my.cnf文件中配置了,就可忽略该步骤,否则要加上)
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data

    12.你可以看看你的服务是否已经添加到linux上
    [root@localhost ~]# chkconfig --list mysqld
    mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off

    [root@localhost ~]#
    chkconfig --add mysqld
    chkconfig --level 345 mysqld on

    12. 启动 mysql

    /usr/local/mysql/bin/mysqld_safe &
    或者 /etc/init.d/mysql start


    13.进入mysql
    /usr/local/mysql/bin
    ./mysql -uroot
    在shell环境下用mysqladmin程序来设置密码
      如 mysqladmin -u root password "your password"


    第三步: 配置mysql可远程访问

    查询mysql数据库中的User表:select user, host, password from mysql.user; 

    +---------+----------------+---------------------------------------------------------------------------+
    | user     |   host           |                                           password                                        |
    +---------+----------------+---------------------------------------------------------------------------+
    | root      |   localhost   | *4ACFE3202A5FF5CF467898FC58AAB1D615029441  |
    | root      |   SUSE         |                                                                                                     |
    +---------+----------------+---------------------------------------------------------------------------+

    如上结果,设置远程访问有两种方式:

    A.直接修改root为可远程访问的用

    > use mysql

    > update user set host = '%'  from user where host = 'localhost ' and user = 'root'

    这样做的好处是root用已经具有了l数据库所有权限,所以更新后不用再授权,坏处是通过root用户来远程方位不安全。


    B.在user表中添加一个用户(user, host, password这三个字段必须,其他字段不同版本之间有差异,只要是不为空的就都添加进来,把值给我“”即可)

    > insert into user(user, host, password, ssl_cipher, x509_issuer, x509_subject) values('mysql','%', password(123), '', '', '');

    成功后查询数据:

    +---------+----------------+---------------------------------------------------------------------------+
    | user     |   host           |                                           password                                        |
    +---------+----------------+---------------------------------------------------------------------------+
    | root      |   localhost   | *4ACFE3202A5FF5CF467898FC58AAB1D615029441  |
    | root      |   SUSE         |                                                                                                     |
    | mysql  |   %                | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
    +---------+----------------+---------------------------------------------------------------------------+

    授权刚刚添加的用户

    GRANT ALL PRIVILEGES ON database.table TO 'mysql'@'%' WITH GRANT OPTION;


    红色部分可修改为要授权的数据名称和表名称。权限也可以指定某些,示例指定了所有权限。


    参考资料:

    http://zl342622.blog.163.com/blog/static/1730414220117318759411/

    http://tec110505.diandian.com/post/2011-08-23/4225393

  • 相关阅读:
    (转)viso 形状搜索 无法使用 的解决办法
    Visio 2003 直线需要相交时的设置方法
    C# Serialport执行close()方法时,程序卡死的解决办法
    RabbitMQ核心技术总结
    kafka核心原理总结
    hadoop的价值在哪里
    从程序员小仙飞升上神,java技术开发要如何实现?
    明年大数据行业的趋势会是哪些?
    2016年末程序员应该知道的基本架构思想
    2016年末程序员突破自我的绝密方法分享
  • 原文地址:https://www.cnblogs.com/pocter/p/3684480.html
Copyright © 2011-2022 走看看