zoukankan      html  css  js  c++  java
  • mysql安装及配置

    安装数据库

    创建mysql用户与组

    /usr/sbin/groupadd mysql
    /usr/sbin/useradd -g mysql mysql

    创建mysql相关目录(软件目录、数据目录)

    mkdir -p /usr/local/software/mysql
    mkdir -p /usr/local/software/mysql/data
    chown -R mysql:mysql /usr/local/software/mysql
    chown -R mysql:mysql /usr/local/software/mysql/data

    安装需要用到的库

    yum -y install gcc gcc-c++
    yum -y install libiao
    yum -y install ncurses-devel

    解压软件

    cd /usr/local/software
    tar -xvf mysql-5.5.45-linux2.6-x86_64.tar.gz
    mv mysql-5.5.45-linux2.6-x86_64.tar.gz mysql

    改变mysql目录权限

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

    配置运行环境

    #vim /etc/my.cnf
    export PATH=/usr/local/software/mysql/bin:/usr/local/software/mysql/lib:$PATH
    source /etc/profile

    初始化数据库

    cd /usr/local/software/mysql
    ./scripts/mysql_install_db --basedir=/usr/local/software/mysql --datadir=/usr/local/software/mysql/data --user=mysql

    启动mysql数据库

    mysqld_safe --datadir=/usr/local/software/mysql/data &

    查检是否启动成功

    netstat -ntlp | grep mysql

    设置root密码,执行以下命令

    # mysqladmin -u root password 'root'

    登陆账号

    # mysql -uroot -proot

    调整mysql配置文件

    创建socket目录

    mkdir -p /var/lib/mysql/
    chown -R mysql:mysql /var/lib/mysql/

    修改配置文件

    #vim /etc/my.cnf
    [client]
    port = 3306
    default-character-set=utf8
    socket=/var/lib/mysql/mysql.sock
    [mysqld]
    user = mysql
    transaction-isolation = READ-COMMITTED
    pid-file = /usr/local/software/mysql/data/db.pid
    port = 3306
    #设置为自己MYSQL的安装目录
    basedir = /usr/local/software/mysql
    #设置为MYSQL的数据目录
    datadir = /usr/local/software/mysql/data
    #设置MYSQL的临时目录
    tmpdir = /tmp
    #设置mysql表大小写不敏感
    lower_case_table_names = 1
    #默认注释,禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间
    skip_name_resolve
    #MySQL客户端的数据库连接闲置最大时间值,由默认的8小时,修改为30分钟
    wait_timeout = 1800
    #接受所有的IPv4地址
    bind-address = 0.0.0.0
    #mysql收到的packet大于max_allowed_packet时,就会报错并且关闭连接
    max_allowed_packet = 100M
    #设置为MYSQL的错误日志文件
    log_error = /usr/local/software/mysql/data/db.err
    socket = /var/lib/mysql/mysql.sock
    #back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。
    back_log = 1024
    #max_connections是指MySql的最大连接数
    max_connections = 1024
    #max_connect_errors是一个mysql中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码等情况
    max_connect_errors = 60
    #max_heap_table_size定义用户可以创建的内存表(memory table)的大小
    max_heap_table_size = 256M
    #open_files_limit描述mysql打开的文件系统描述符(默认最小1024)open_files_limit = table_open_cache*2 + innodb表
    open_files_limit = 10240
    #table_open_cache指定表高速缓存的大小
    table_open_cache = 1024
    #它规定了内部内存临时表的最大值,每个线程都要分配。
    tmp_table_size = 256M
    #key_buffer_size只对myisam表作用,指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度
    key_buffer_size = 128M
    #thread_stack每个连接线程被创建时,MySQL给它分配的内存大小。
    thread_stack = 256K
    #服务器线程缓存,这个值表示可以重新利用保存在缓存中线程的数量
    thread_cache_size = 1024
    #thread_concurrency线程并发,默认值为8, 对mysql的性能影响很大
    thread_concurrency = 12

    # for innodb
    #对于InnoDB表来说,innodb_buffer_pool_size的作用就相当于key_buffer_size对于MyISAM表的作用一样,可以达到物理内存的80%, 默认值为 128M.
    innodb_buffer_pool_size = 6G
    innodb_buffer_pool_instances = 1
    innodb_file_io_threads = 4
    #innodb_thread_concurrency = 6
    innodb_thread_concurrency = 8
    innodb_flush_log_at_trx_commit = 2
    innodb_log_buffer_size = 16M
    #logfile大小对于性能的影响主要体现在checkpoint上,建议设置在4G以下
    innodb_log_file_size = 1G
    innodb_log_files_in_group = 2
    innodb_max_dirty_pages_pct = 90
    innodb_lock_wait_timeout = 120
    #innodb_additional_mem_pool_size = 8M
    #innodb_additional_mem_pool_size = 16M
    innodb_flush_method = O_DIRECT
    #innodb_io_capacity参数默认是200,单位是页。该参数设置的大小取决于硬盘的IOPS,即每秒的输入输出量(或读写次数)。
    innodb_io_capacity = 2000
    innodb_print_all_deadlocks = 1
    #innodb_log_group_home_dir = ./redolog
    innodb_max_purge_lag = 1
    innodb_read_io_threads = 8
    innodb_write_io_threads = 8

    # for every connection
    #sort_buffer_size是MySql执行排序使用的缓冲大小默认2M,列如:500个连接将会消耗500*sort_buffer_size(2M)=1G内存
    sort_buffer_size = 32M
    #read_buffer_size 默认2M。是MySql读入缓冲区,对表进行顺序扫描的请求将分配一个读入缓冲区
    read_buffer_size = 8M
    #read_rnd_buffer_size 是MySql的随机读缓冲区大小,默认8M
    read_rnd_buffer_size = 16M
    #用于表间关联缓存的大小,和sort_buffer_size一样,该参数对应的分配内存也是每个连接独享。
    join_buffer_size = 8M

    # for debug设置慢查询
    long_query_time = 0.5
    #slow_query_log是否开启慢查询日志展示
    slow_query_log = OFF
    slow_query_log_file = /usr/local/software/mysql/data/db-slow.log

    [mysqldump]
    quick
    quote-names

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

    配置mysql为系统服务

    创建mysqld启动命令脚本

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

    设置执行权限

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

    注册成服务

    chkconfig --add mysqld

    设置开机启动

    chkconfig --level 35 mysqld on

    启动mysql测试

    service mysqld start

                    

    服务执行停止/启动/状态查询

    # service mysqld stop
    # service mysqld start
    # service mysqld status

     

  • 相关阅读:
    [LeetCode] Remove Linked List Elements
    [LeetCode] Delete Node in a Linked List
    [LeetCode] Valid Anagram
    [LeetCode] Ugly Number II
    自制工具:迅速打开一个Node 环境的Playground
    [LeetCode] Ugly Number
    [LeetCode] Happy Number
    [LeetCode] Isomorphic Strings
    [LeetCode] Word Pattern
    自制工具:上传修改过的文件到指定服务器
  • 原文地址:https://www.cnblogs.com/SLchuck/p/9781780.html
Copyright © 2011-2022 走看看