zoukankan      html  css  js  c++  java
  • linux下mysql的源码安装

    mysql有多中安装方法,本文只涉及编译安装,对其他方法感兴趣的可以自行百度。

    1、首先获取mysql软件安装包,这里用wget下载

    [root@localhost ~]# wget http://download.chinaunix.net/down.php?id=38987&ResourceID=7159&site=1

    2、解压

    [root@localhost ~]# tar zxvf mysql-5.1.62.tar.gz 

    3、创建相关文件夹并配置

    [root@localhost ~]# cd mysql-5.1.62
    [root@localhost mysql-5.1.62]# mkdir -p /usr/local/mysql
    [root@localhost mysql-5.1.62]# mkdir -p /usr/local/mysql/tmp/
    [root@localhost mysql-5.1.62]# ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --localstatedir=/usr/local/mysql/data --enable-assembler --enable-thread-safe-client --with-mysqld-user=mysql --with-big-tables --without-debug --with--pyhread --enable-assembler --with-extra-charsets=complex --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase --with-plugin-PLUGIN --with-mysqld-ldflags=all-static --with-client-ldflags=all-static

    配置完成后查看是否有报错,正常配置结果如下

    configure: WARNING: unrecognized options: --with--pyhread, --with-plugin-PLUGIN
    
    Thank you for choosing MySQL!
    
    Remember to check the platform specific part of the reference manual
    for hints about installing MySQL on your platform.
    Also have a look at the files in the Docs directory.

    说明:
    1.可以通过执行./configure -help命令来详细查看以上各参数的用途。
    2.如果编译过程中提示不支持的参数,可使用./configure -help查看该mysql版本是否支持该参数

    4、编译并生成mysqld的执行文件

    [root@localhost mysql-5.1.62]# make

    报错:gcc: all-static: No such file or directory
    不支持all-static参数,查看./configure -help发现5.1.62版本的mysql确实没有all-static这个参数

    [root@localhost mysql-5.1.62]# ./configure -help |grep "all-static"
    [root@localhost mysql-5.1.62]# 

    去掉all-static重新配置编译

    [root@localhost mysql-5.1.62]# ./configure --prefix=/usr/local/mysql --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --localstatedir=/usr/local/mysql/data --enable-assembler --enable-thread-safe-client --with-mysqld-user=mysql --with-big-tables --without-debug --with--pyhread --enable-assembler --with-extra-charsets=complex --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase --with-plugin-PLUGIN

    5、安装mysql

    [root@localhost mysql-5.1.62]# make install

    6、获取配置文件

    [root@localhost mysql-5.1.62]# cp support-files/my-small.cnf /etc/my.cnf

    7、创建数据库文件

    [root@localhost mysql-5.1.62]# mkdir -p /usr/local/mysql/data  #建立mysql数据文件目录
    [root@localhost mysql-5.1.62]# chown -R mysql.mysql /usr/local/mysql/   #授予mysql用户对目录的权限
    [root@localhost mysql-5.1.62]# /usr/local/mysql/bin/mysql_install_db --user=mysql  #初始化数据文件,安装mysql数据库文件;执行结果如下:
    
    Installing MySQL system tables...
    150525 16:46:45 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
    OK
    Filling help tables...
    150525 16:46:45 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
    OK
    
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    
    /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
    /usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
    
    Alternatively you can run:
    /usr/local/mysql/bin/mysql_secure_installation
    
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
    
    See the manual for more instructions.
    
    You can start the MySQL daemon with:
    cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
    
    You can test the MySQL daemon with mysql-test-run.pl
    cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl
    
    Please report any problems with the /usr/local/mysql/bin/mysqlbug script!
    
    [root@localhost mysql-5.1.62]#  
    

    8、启动mysql

    [root@localhost mysql-5.1.62]# /usr/local/mysql/bin/mysqld_safe &  #启动mysql
    [1] 5907
    [root@localhost mysql-5.1.62]# 150525 16:53:53 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
    150525 16:53:53 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
    
    [root@localhost mysql-5.1.62]# netstat -lnt|grep 3306  #mysql默认端口3306
    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
    [root@localhost mysql-5.1.62]# mysql  #mysql登录
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 1
    Server version: 5.1.62 Source distribution
    
    Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> quit
    Bye

    安装完后我们还要查看并删除多余用户

    [root@localhost ~]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 6
    Server version: 5.1.62 Source distribution
    
    Copyright (c) 2000, 2012, Oracle and/or its affiliates. All ri
    
    Oracle is a registered trademark of Oracle Corporation and/or 
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current 
    
    mysql> select user,host from mysql.user;
    +------+-----------------------+
    | user | host                  |
    +------+-----------------------+
    | root | 127.0.0.1             |
    |      | localhost             |
    | root | localhost             |
    |      | localhost.localdomain |
    | root | localhost.localdomain |
    +------+-----------------------+
    5 rows in set (0.00 sec)
    
    mysql> drop user ""@localhost;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> drop user ""@localhost.localdomain
        -> ;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select user,host from mysql.user;
    +------+-----------------------+
    | user | host                  |
    +------+-----------------------+
    | root | 127.0.0.1             |
    | root | localhost             |
    | root | localhost.localdomain |
    +------+-----------------------+
    3 rows in set (0.00 sec)
    
    mysql> 
  • 相关阅读:
    Java集合框架面试题
    Java:concurrent包下面的Collection接口框架图( CopyOnWriteArraySet, CopyOnWriteArrayList,ConcurrentLinkedQueue,BlockingQueue)
    JDK1.5新特性,基础类库篇,浅谈并发工具包(Concurrency Utilities)
    《Java Concurrency》读书笔记,使用JDK并发包构建程序
    Java:多线程,Exchanger同步器
    Java:多线程,CountDownLatch同步器
    Java:多线程,CyclicBarrier同步器
    Java:多线程,Semaphore同步器
    《Java Concurrency》读书笔记,构建线程安全应用程序
    《Java Concurrency》读书笔记,Java并发编程实践基础
  • 原文地址:https://www.cnblogs.com/dengtr/p/5027364.html
Copyright © 2011-2022 走看看