• Linux(CentOS 6.5) 下安装MySql 5.7.18 二进制版本粗浅攻略


    鉴于Linux和mysql因不同版本,安装方式也不同,所以在阅读本攻略前,请确保各位同学的版本和我的Linux、MySql 版本一致。

    如果不一致,只能参考。

    我的版本:

    Linux CentOS 6.5 

    MySql 5.7.18

    特别提醒:MySq 5.7和5.6在安装方式上有大不同,所以5.6的同学不要看这个攻略。

     一、程序准备

    1.进入 https://dev.mysql.com/downloads/mysql/ 

              

      

    选择 Linux-Generic,根据系统是64位还是32位选择下载的包。tar和tar.gz都行

      

    2.使用SecureCRT远程登录到Linux,并取得root权限

     输入:sudo su 取得当前账号的临时root权限。

    3.把二进制包从Windows上传至Linux

     关于Linux和windows互传的方法有很多,FTP和rzsz命令2种方法是主流。本文使用的是rz命令上传(rz命令需要使用SecureCRT远程连接到Linux)。

     rz详细的使用请见:http://www.cnblogs.com/wangxiaoha/p/7059653.html

     ftp的方式请大家自己在网上搜索一下方法,为了focus主题,本文就不涉及了。

    4.包上传并移动至:/usr/local/

     输入如下两个命令

     cd /usr/local    

        rz -be (大文件必须加-be,不然会报错)

        弹出对话框,选择MySql二进制包。开始上传。

     上传完毕后,文件的路径应该是这样的:

         /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

      我们需要解压改压缩包。

      当前的目录在 /usr/local/

         输入如下命令:

       tar -zxvf  mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

       解压完毕以后,会新增如下文件夹,文件夹里面就是mysql的运行程序

       /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64

         为了方便,我们把文件夹的名字改成mysql

         当前目录在/usr/local/

     输入:

         mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql

      修改完毕。

                

        4.建立一个新文件夹

          mkdir usrlocaldatamysql

     基本工作准备完毕。

              

      PS:

      1、为什么绝大部分的mysql的安装指导都会让我们 把mysql包解压之后 ,用mv命令移到/usr/local/,然后把文件名修改为mysql呢,个人粗浅的认为有两点。一是约定俗成,如果以后有别的账号登录或者别的程序需要找mysql的程序路径,配个大家约定俗成的地址就ok了,不用再修改。二是,usr/local这个文件夹属于linux的公共文件夹,他的权限放得比较开,基本上有root权限操作都是开放的。但是如果把程序放在别的地方,特别是个人文件夹中,极有可能会因为各种文件权限问题而异常不断,非常影响学习效率。以后当初学者成为老鸟以后,你怎么玩也行。

      2、为什么要建立一个usrlocaldatamysql目录。这是mysql的要求,因为它需要你指定一个地方存数据库的数据文件。我们以后的数据都库表,和表里的数据都保存在这个文件夹里。

       

     第二章:安装配置Mysql

      1.在linux中建立新的用户和用户组

              sudu su 

      取得root权限,创建mysql用户组

       groupadd mysql

            创建mysql用户,并属于mysql用户组

       useradd -r -g mysql mysql

      2.对文件夹指定所有者

             cd  /usr/local

        chown  -R mysql mysql/   将mysql文件夹的所有者指定为mysql用户

             chgrp -R mysql mysql/ 将mysql文件夹的所有组指定为mysql用户组

        3.新增mysql的全局配置文件

              5.7.18没有找到默认的配置文件。这个在网上找到一个模板:

              

    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
    # *** default location during install, and will be replaced if you
    # *** upgrade to a newer version of MySQL.
    
    [mysqld]
    
    
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    
    # 一般配置选项
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    port = 3306
    socket = /var/run/mysqld/mysqld.sock
    character-set-server=utf8
    
    
    #下面是可选项,要不要都行,如果出现启动错误,则全部注释掉,保留最基本的配置选项,然后尝试添加某些配置项后启动,检测配置项是否有误 back_log = 300 max_connections = 3000 max_connect_errors = 50 table_open_cache = 4096 max_allowed_packet = 32M #binlog_cache_size = 4M max_heap_table_size = 128M read_rnd_buffer_size = 16M sort_buffer_size = 16M join_buffer_size = 16M thread_cache_size = 16 query_cache_size = 128M query_cache_limit = 4M ft_min_word_len = 8 thread_stack = 512K transaction_isolation = REPEATABLE-READ tmp_table_size = 128M #log-bin=mysql-bin long_query_time = 6 server_id=1 innodb_buffer_pool_size = 1G innodb_thread_concurrency = 16 innodb_log_buffer_size = 16M innodb_log_file_size = 512M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 innodb_file_per_table = on [mysqldump] quick max_allowed_packet = 32M [mysql] no-auto-rehash default-character-set=utf8 safe-updates [myisamchk] key_buffer = 16M sort_buffer_size = 16M read_buffer = 8M write_buffer = 8M [mysqlhotcopy] interactive-timeout [mysqld_safe] open-files-limit = 8192 [client]

            

        将以上的文本粘贴下来,保存为my.cnf,并通过rz命令或ftp上传至 etc/my.cnf,需要配置的是如下4行。

     

    basedir = /usr/local/mysql                mysql的程序文件夹路径
    datadir = /usr/local/data/mysql         mysql的数据文件夹路径
    port = 3306                              数据库的对外访问网络端口,一般保存默认3306
    socket = /var/run/mysqld/mysqld.sock     socket连接执行文件的地址

    以上3行都很容易理解,第4个稍微麻烦一些。到目前为止可以占时忽略它。一会儿来处理它

     3.初始化mysql

           cd /usr/local/mysql/bin

           ./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/  --datadir=/usr/local/data/mysql

           以不安全的方式初始化mysql,且指定其所有者用户为mysql。insecure不安全,其实就是没有初始密码(必须为root权限)。对一般初学者来讲,没密码要方面很多。

            如果一切顺利,当前账号拥有/usr/local/data/mysql的写入权限的话,mysql程序会在data/mysql里写入mysql自己的数据库。不然那会报错。

         4.配置socket地址和处理配置文件

            还记得/etc/my.cnf文件中的这一行么

     socket = /var/run/mysqld/mysqld.sock

     我们现在需要查找mysql.sock这个文件到底被mysql初始化到哪里去了,输入如下命令:
      
     find / -name 'mysql.sock'

    发现它在:
    /var/lib/mysql/mysql.sock

    所以

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

    my.cnf配置完毕

    在启动mysql以前,还需要最后一步:

    mv /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    PS:

    一、为什么要把配置文件copy到etc文件夹。因为etc文件夹是linux的配置文件中心,几乎大部分的配置文件都在这里。像mysql这种有全局服务的程序来讲,放入这里方便以后的使用和操作。

     二、为什么要给mysql文件夹和文件指定专门的mysql用户,一句话安全。如果mysql被攻破的话,黑客只能拿到mysql用户的权限,不会影响别的系统。

    第三章:启动mysql,完成基础设置


     1. 启动mysql

    cd /usr/local/mysql/bin

    ./mysqld_safe --user=mysql

    /etc/init.d/mysqld restart

         

      2.连接mysql  

      cd /usr/local/mysql/bin 

     ./mysql -uroot -p

     提示输入密码,直接回车

    连接成功!

      3.修改密码

    搞定!以上。

    
    
    

      

              

         

              

  • 相关阅读:
    动态为datagrid增加控件
    对DataGrid中的ListBox设置值
    Enhancing Inserting Data through the DataGrid Footer, Part 2
    Setting Focus to a TextBox in an EditItemTemplate
    Enhancing Inserting Data through the DataGrid Footer
    CRM选择行变色
    【转】on delete cascade
    VS如何连接2种类型的数据库
    SQL Server 已配置为允许远程连接 解决办法
    【转】sql server 重命名表字段
  • 原文地址:https://www.cnblogs.com/wangxiaoha/p/7080155.html
Copyright © 2020-2023  润新知