美文网首页我爱编程
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