• mysql 二进制安装


    0.说明

    在CentOS或者Red Hat上安装mysql可以有三种方式:

    • 使用rpm -ivh xxx.rpm 或者 yum install xxx (一般推荐使用rpm来安装,需要弄清各个关键目录在哪)
    • 使用编译好的通用二进制版本的mysql来安装(Generic Binaries mysql) (我就是使用方法2来安装的)
    • 使用源码来编译安装。

    Linux通用二进制版本mysql是在当我们使用rpm或者yum方法安装失败时,可以使用的方法。因为通用二进制版本对glibc等lib库的版本要求不是很高。所以使用这种方法,可以很好的解决:在低版本的CentOS上安装高版本的mysql。

    1.下载

    打开网页

    http://dev.mysql.com/downloads/mysql/

    在 Select Platform 中选择Linux - Generic,根据自己的系统选择32位或者64位的。

    2.创建用户组和用户名(可选)

    创建mysql用户组和用户名,相关命令如下:

    groupadd mysql
    useradd -g -r mysql mysql

    3.解压,指定目录

    将mysql安装包上传到centos系统的目录/usr/local/,解压软件包。将解压后生成的目录,改名为mysql,/usr/local/mysql就是MySQL数据库的安装目录(basedir)。

    cd /usr/local/ #进入安装目录,安装包已经放在这里
    
    tar  -vxfz mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz #解压
    
    mv mysql-5.7.15-linux-glibc2.5-x86_64 mysql #改名为mysql

    4.创建mysql数据目录和日志目录

    mysql在初始化数据库的时候会用到该数据目录

    mkdir /usr/local/data   #数据目录mkdir /usr/local/logs #日志目录

    5.更改目录权限

    修改相关目录为mysql专属用户组和用户名

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

    6.创建my.cnf文件

    vi /etc/my.cnf
    
    #文件内容:
    [client]
    port = 3306
    socket = /tmp/mysql.sock
    default-character-set = utf8mb4
    
    [mysql]
    prompt="MySQL [d]> "
    no-auto-rehash
    
    [mysqld]
    port = 3306
    socket = /tmp/mysql.sock
    
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    pid-file = /usr/local/mysql/mysql.pid
    user = mysql
    bind-address = 0.0.0.0
    server-id = 1
    
    init-connect = 'SET NAMES utf8mb4'
    character-set-server = utf8mb4
    
    skip-name-resolve
    back_log = 300
    
    max_connections = 613
    max_connect_errors = 6000
    open_files_limit = 65535
    table_open_cache = 256
    max_allowed_packet = 500M
    binlog_cache_size = 1M
    max_heap_table_size = 8M
    tmp_table_size = 32M
    
    read_buffer_size = 2M
    read_rnd_buffer_size = 8M
    sort_buffer_size = 8M
    join_buffer_size = 8M
    key_buffer_size = 16M
    
    thread_cache_size = 16
    
    query_cache_type = 1
    query_cache_size = 16M
    query_cache_limit = 2M
    
    ft_min_word_len = 4
    
    log_bin = mysql-bin
    binlog_format = mixed
    expire_logs_days = 7
    
    log_error = /usr/local/mysql/logs/mysql-error.log
    slow_query_log = 1
    long_query_time = 1
    slow_query_log_file = /usr/local/mysql/logs/mysql-slow.log
    
    performance_schema = 0
    explicit_defaults_for_timestamp
    
    #lower_case_table_names = 1
    
    skip-external-locking
    
    default_storage_engine = InnoDB
    #default-storage-engine = MyISAM
    innodb_file_per_table = 1
    innodb_open_files = 500
    innodb_buffer_pool_size = 128M
    innodb_write_io_threads = 4
    innodb_read_io_threads = 4
    innodb_thread_concurrency = 0
    innodb_purge_threads = 1
    innodb_flush_log_at_trx_commit = 2
    innodb_log_buffer_size = 2M
    innodb_log_file_size = 32M
    innodb_log_files_in_group = 3
    innodb_max_dirty_pages_pct = 90
    innodb_lock_wait_timeout = 120
    
    bulk_insert_buffer_size = 8M
    myisam_sort_buffer_size = 16M
    myisam_max_sort_file_size = 10G
    myisam_repair_threads = 1
    interactive_timeout = 28800
    wait_timeout = 28800
    
    
    [mysqldump]
    quick
    max_allowed_packet = 500M
    
    [myisamchk]
    key_buffer_size = 16M
    sort_buffer_size = 8M
    read_buffer = 4M
    write_buffer = 4M

    7.初始化mysql

    进入数据库目录,以下配置都在/usr/local/mysql下,完成初始化:

    #初始化命令1
    bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
    
    #初始化命令2
    bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

    等待初始化后,如果配置了my.cnf的log_error,那么初始密码在log_error文件中,否则会打印出来。查看日志文件会看到A temporary is generated for root@localhost:u_7UR<%ox- 。MySQL初始化完成后,就可以使用这个密码,在本机通过root用户登录。

    8.配置启动文件,启动MySQL服务

    Mysql的启动文件mysql.server放在mysql源码包中,如下目录/usr/local/mysql/support-files,复制该文件同时改名为mysql到/etc/init.d/mysql:

    #拷贝启动服务命令
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
    
    #启动mysql服务/etc/init.d/mysql 

    9.配置环境变量和开机自启动

    配置环境变量:

    vim /etc/profile
    
    #在文件最后加上下面两句话export mysql_home=/usr/local/mysql
    export PATH=$PATH:$mysql_home/bin
    (也可以不用vi打开文件修改,直接在shell执行命令也可以完成配置:echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile)
    
    
    #修改文件,使配置立即生效source /etc/profile

    设置开机自启动:

    chkconfig --add mysql #添加mysql服务到开机自启动列表
    chkconfig mysql on #开机自动启动

    10.登录mysql服务

    mysql -uroot -p  #这里直接回车password:  #输入从日志文件里面的初始化密码 

    登录后,在重设密码之前,什么都不能干,所以要重设秘密:

    mysql>alter user root@localhost identified by '你的密码';

    这之后就可以正常进行数据库的各种操作了。

    注意在5.7中存储密码的字段不再是password了,变成了authentication_string,如果要修改密码,就要执行下面的语句:

    update mysql.user set authentication_string=password("root") where user="root";

    参考链接:
    http://blog.chinaunix.net/uid-25909722-id-4605091.html
    http://www.th7.cn/system/lin/201607/172036.shtml
    http://dev.mysql.com/downloads/mysql/
    http://blog.sina.com.cn/s/blog_4b50392101017wln.html

  • 相关阅读:
    [HDU] 1016 Prime Ring Problem(DFS)
    ACM、OI等比赛中的程序对拍问题
    [POJ] 1948 Triangular Pastures (DP)
    [POJ] 1606 Jugs(BFS+路径输出)
    [百度2015春季实习生招聘附加题] 今天要吃点好的!
    Idea 搭建Maven--web项目(MVC)
    Python自动化测试框架——数据驱动(从文件中读取)
    Python自动化测试框架——数据驱动(从代码中读取)
    selenium——操作滚动条
    Python自动化测试框架——生成测试报告
  • 原文地址:https://www.cnblogs.com/heaven-xi/p/9961324.html
Copyright © 2020-2023  润新知