美文网首页我爱编程
Ubuntu下编译安装MySQL

Ubuntu下编译安装MySQL

作者: Sheldor936 | 来源:发表于2017-09-28 18:33 被阅读0次

    系统:Ubuntu16.04TLS
    MySql: 5.7.18

    • 安装依赖
      sudo apt install cmake bison libncurses5-dev
    • 下载MySQL
    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz
    #解压
    tar -xzv -f mysql-boost-5.7.18.tar.gz 
    
    • 编译安装
      cd mysql-5.7.18/  
      cmake \
      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \(数据库安装目录)
      -DMYSQL_DATADIR=/usr/local/mysql/data \(数据库文件存放位置)
      -DWITH_BOOST=./boost/boost_1_59_0 \(查看自己文件夹中的文件目录)
      -DSYSCONFDIR=/etc \
      -DWITH_INNOBASE_STORAGE_ENGINE=1 \
      -DWITH_PARTITION_STORAGE_ENGINE=1 \
      -DWITH_FEDERATED_STORAGE_ENGINE=1 \
      -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
      -DWITH_MYISAM_STORAGE_ENGINE=1 \
      -DWITH_MEMORY_STORAGE_ENGINE=1 \
      -DENABLED_LOCAL_INFILE=1 \
      -DWITH_READLINE=1 \
      -DMYSQL_TCP_PORT=3306 \
      -DEXTRA_CHARSETS=all \
      -DDEFAULT_CHARSET=utf8 \
      -DDEFAULT_COLLATION=utf8_general_ci
      
      sudo make && sudo make install
      
      Note:通过指定cmake选项,可以实现自己指定MySQL的安装目录及数据存放目录。也可以去cmake常用参数处查看。
    • 配置
      1. 添加用户组
        #新增一个名为mysql的系统工作组
        groupadd mysql
        #为用户mysql指定工作组mysql
        useradd -g mysql mysql
        
      2. 添加文件管理权限
        #将/usr/local/mysql及其子目录下的所有文件的文件主改为mysql
        sudo chown -R mysql /usr/local/mysql 
        #将/usr/local/mysql及其子目录下的所有文件的用户组改为mysql
        sudo chgrp -R mysql /usr/local/mysql
        
      3. 配置开机启动项
        cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
        chmod +x /etc/init.d/mysqld
        #以下操作不执行,则mysql不会开机启动;可以自己手动启动(可以参考后面内容的手动启动部分)
        sudo update-rc.d mysqld defaults 
        
      4. 修改配置文件
        sudo vim /etc/my.cof
        
        [client]  
          port = 3306
          socket = /tmp/mysql.sock 
          default-character-set = utf8
        [mysqld] 
          user = mysql
          port = 3306 
          socket = /tmp/mysql.sock  
          basedir = /usr/local/mysql  
          datadir = /usr/local/mysql/data
        
      5. 初始化数据库
        安装过程有两种方式,一种安装过程中产生root账户的初始密码;另一种不产生root账户的初始密码后续使用时再生成也可。
        a.生成root账户的初始密码
        /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
        
        Note:该过程最后会生成root账户的初始密码,这个密码很重要需要记下来,后续连接MySQL时需要使用。
        b.不生成root账户的初始密码
         /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
        #生成root账户密码
        /usr/local/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  
        
    • 登录数据库
      1. 启动MySQL服务
      sudo service mysqld start
      
      1. 设置MySQL的符号链接
      sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
      
      1. 修改root的密码
      #密码为上面初始化安装过程中生成的密码
      mysql -u root -p 密码
      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
      

    相关文章

      网友评论

        本文标题:Ubuntu下编译安装MySQL

        本文链接:https://www.haomeiwen.com/subject/dvlvextx.html