当前位置:   article > 正文

MySQL编译安装_mysql编译csdn

mysql编译csdn

MySQL的安装有三种方式
1.RPM安装MySQL
2.yum源的安装方式
在本篇文章中,不对上述的两种安装方式进行过多的阐述,对第三种安装方式进行详细的介绍
3.源代码编译安装
参考文档:https://github.com/Hackeruncle/MySQL/blob/master/MySQL%205.6.23%20Install.txt

1.下载(root用户下进行操作)

    将mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz安装到/usr/local目录下
        $>cd /usr/local
        $>wget https://downloads.mariadb.com/archives/mysql-5.6/mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
  • 1
  • 2
  • 3

2.检查是否安装过mysql(root用户下进行操作)

    查看是否有mysql进程
        $>ps -ef | grep mysqld
    查看是否有mysql的rpm包
        $>rpm -qa | grep -i mysql
  • 1
  • 2
  • 3
  • 4

3.解压并移动(root用户下进行操作)

    $>tar xzvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
    $>mv mysql-5.6.23-linux-glibc2.5-x86_64 mysql
  • 1
  • 2

4.创建一个用户组和用户(root用户下进行操作)

    创建一个组(-g指定组ID)
        $>groupadd -g 101 dba
    创建一个用户(-u指定用户ID -G表示属于哪个组 -d表示创建的家目录在哪里)
        $>useradd -u 514 -g dba -G root -d /opt/app/mysql mysqladmin
    查看mysqladmin用户
        $>id mysqladmin
          uid=514(mysqladmin) gid=101(dba) groups=101(dba),0(root)
    为mysqladmin用户设置密码(密码为mysql  注意这里的mysqladmin密码为Linux系统用户的密码非mysql数据库的登陆用户的密码)
        $>passwd mysqladmin
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

5.编辑文件/etc/my.cnf(root用户下进行操作)
MySQL默认启动过程: /etc/my.cnf->/etc/mysql/my.cnf->SYSCONFDIR/my.cnf->$MYSQL_HOME/my.cnf-> –defaults-extra-file->~/my.cnf

    $>vi /etc/my.cnf
        将下面内容复制进去(修改一个地方)
        [client]
        port            = 3306
        socket          = /opt/app/mysql/data/mysql.sock

        [mysqld]
        port            = 3306
        socket          = /opt/app/mysql/data/mysql.sock

        skip-external-locking
        key_buffer_size = 256M
        sort_buffer_size = 2M
        read_buffer_size = 2M
        read_rnd_buffer_size = 4M
        query_cache_size= 32M
        max_allowed_packet = 16M
        myisam_sort_buffer_size=128M
        tmp_table_size=32M

        table_open_cache = 512
        thread_cache_size = 8
        wait_timeout = 86400
        interactive_timeout = 86400
        max_connections = 600

        # Try number of CPU's*2 for thread_concurrency
        thread_concurrency = 32

        #isolation level and default engine 
        default-storage-engine = INNODB
        transaction-isolation = READ-COMMITTED

        server-id  = 1
        basedir     = /opt/app/mysql
        datadir     = /opt/app/mysql/data
        pid-file     = /opt/app/mysql/data/hostname.pid

        #open performance schema
        log-warnings
        sysdate-is-now

        binlog_format = MIXED
        log_bin_trust_function_creators=1
        log-error  = /opt/app/mysql/data/hostname.err
        log-bin = /opt/app/mysql/arch/mysql-bin
        #other logs
        #general_log =1
        #general_log_file  = /opt/app/mysql/data/general_log.err
        #slow_query_log=1
        #slow_query_log_file = /opt/app/mysql/data/slow_log.err

        #for replication slave
        #log-slave-updates 
        #sync_binlog = 1

        #for innodb options 
        innodb_data_home_dir = /opt/app/mysql/data/
        innodb_data_file_path = ibdata1:500M:autoextend
        innodb_log_group_home_dir = /opt/app/mysql/arch
        innodb_log_files_in_group = 2
        innodb_log_file_size = 200M

        #这里需要改变
        #根据自己的电脑内存来配置innodb_buffer_pool_size的值
        innodb_buffer_pool_size = 1024M
        innodb_additional_mem_pool_size = 50M
        innodb_log_buffer_size = 16M

        innodb_lock_wait_timeout = 100
        #innodb_thread_concurrency = 0
        innodb_flush_log_at_trx_commit = 1
        innodb_locks_unsafe_for_binlog=1

        #innodb io features: add for mysql5.5.8
        performance_schema
        innodb_read_io_threads=4
        innodb-write-io-threads=4
        innodb-io-capacity=200
        #purge threads change default(0) to 1 for purge
        innodb_purge_threads=1
        innodb_use_native_aio=on

        #case-sensitive file names and separate tablespace
        innodb_file_per_table = 1
        lower_case_table_names=1

        [mysqldump]
        quick
        max_allowed_packet = 16M

        [mysql]
        no-auto-rehash

        [mysqlhotcopy]
        interactive-timeout

        [myisamchk]
        key_buffer_size = 256M
        sort_buffer_size = 256M
        read_buffer = 2M
        write_buffer = 2M
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102

6.改变/etc/my.cnf和/opt/app/mysql的所属组和用户以及权限(在root用户下进行操作)

    改变/etc/my.cnf的所属组和用户
        $>chown  mysqladmin:dba /etc/my.cnf
    授予640权限
        $>chmod  640 /etc/my.cnf  
        $>ll my.cnf
          -rw-r----- 1 mysqladmin dba 2201 Aug 25 23:09 my.cnf
    改变/opt/app/mysql/mysql的所属组和用户
        $>chown -R mysqladmin:dba /opt/app/mysql
    授予755权限
        $>chmod -R 755 /opt/app/mysql 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

7.执行命令,进行mysql的安装(mysqladmin用户下进行操作)
注意:必须切换成mysqladmin用户来启动MySQL,如果使用root用户会报错

    $>su - mysqladmin 
    $>pwd
      /opt/app/mysql
    创建目录arch(重要)
        $>cd /opt/app/mysql
        $>>mkdir arch
    按照脚本进行安装(重要)
        $>scripts/mysql_install_db  --user=mysqladmin --basedir=/opt/app/mysql --datadir=/opt/app/mysql/data
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

报错:
Installing MySQL system tables…./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory #缺少libaio.so 包
开始排错:

1.查看版本
$>cat /proc/version
Linux version 2.6.18-164.11.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Jan 20 07:32:21 EST 2010
 2.$>rpm -qa |grep gcc
  libgcc-4.1.2-46.el5_4.2
  libgcc-4.1.2-46.el5_4.2
 3.使用root用户进行安装
$>yum -y install libaio
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

8.再次进行安装(mysqladmin用户下进行操作)

    安装的过程中,指定user、basedir、datadir
        $>scripts/mysql_install_db  --user=mysqladmin --basedir=/opt/app/mysql --datadir=/opt/app/mysql/data 
  • 1
  • 2

9.确认mysql服务(root用户下进行操作)

    切换目录到/opt/app/mysql
        $>cd /opt/app/mysql
    将服务文件拷贝到init.d下,并重命名为mysql
        $>cp support-files/mysql.server /etc/rc.d/init.d/mysql 
    赋予可执行权限
        $>chmod +x /etc/rc.d/init.d/mysql
    删除服务
        $>chkconfig --del mysql
    添加服务
        $>chkconfig --add mysql
        $>chkconfig --level 345 mysql on
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

9.启动mysql服务,查看进程(mysqladmin用户下进行操作)

    切换到mysqladmin用户
        $>su - mysqladmin
        $>pwd
          /usr/local/mysql
    删除my.cnf文件
        $>rm -rf my.cnf
    启动
        $>bin/mysqld_safe &
    查看mysql的相关进程
        $>ps -ef | grep mysqld
    查看mysql端口及状态
        $>netstat -tulnp | grep mysql
    查看mysql进程的状态
        $>service mysql status
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

见下图:
这里写图片描述

10.登陆到mysql

    $>mysql
  • 1

登陆成功:
这里写图片描述

11.编译过程中的其它问题
切换用户显示-bash-4.1$的解决办法
将mysqladmin的环境变量拷贝至/opt/app/mysql目录下

            $>cp -r /etc/skel/.* /opt/app/mysql
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/988603
推荐阅读
相关标签
  

闽ICP备14008679号