centos环境下Yum+rmp安装MySQL+Yum安装MySQL下修改其数据存储目录

在centos上安装mysql着实费了我一番功夫。一番探索后我成功的在4台centos虚机上安装上了mysql,其中三台用yum的方式进行安装,一台用rpm的方式进行安装。现做记录如下:


0:检查centos是否有安装mysql和完全卸载mysql

  1. 查看MySQL是否安装:

    yum list installed mysql*
    
    或者:
    rpm -qa | grep -i mysql

     

  2. 卸载mysql
     

    yum remove mysql mysql-server mysql-libs compat-mysql51(你所安装的mysql)
    rm -rf /var/lib/mysql
    rm /etc/my.cnf

     

一:rpm方式安装

软件下载:上mysql的官网下载对应的版本软件;我下载的是mysql-8.0.12-linux-glibc2.12-x86_64.tar这个版本。

  1. 解压到你预装mysql的路径:tar -xJvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz -C  /opt/app
  2. 建目录授权等 

    groupadd mysql
    useradd mysql
    mkdir -p /opt/dataSet/mysql #(创建一个用于存放数据的文件夹)
    chown -R mysql:mysql /opt/dataSet/mysql/
    chmod -R 775 /opt/dataSet/mysql/

     

  3. 配置文件/etc/my.cof如下
     
    [mysqld]
    server-id                      = 1
    port                           = 3306
    mysqlx_port                    = 33060
    mysqlx_socket                  = /tmp/mysqlx.sock
    basedir                        = /opt/app/mysql  #(我的软件安装在这里)
    datadir                        = /opt/dataSet/mysql #(我的数据放在这个文件夹)
    socket                         = /tmp/mysql.sock
    pid-file                       = /tmp/mysqld.pid
    log-error                      = /opt/dataSet/mysql/error.log #(对应修改)
    slow-query-log                 = 1
    slow-query-log-file            = slow.log
    long_query_time                = 0.2
    log-bin                        = bin.log
    relay-log                      = relay.log
    binlog_format                 =ROW
    relay_log_recovery            = 1
    #character-set-client-handshake = FALSE
    character-set-server           = utf8mb4
    collation-server               = utf8mb4_unicode_ci
    init_connect                   ='SET NAMES utf8mb4'
    innodb_buffer_pool_size        = 1G
    join_buffer_size               = 128M
    sort_buffer_size               = 2M
    read_rnd_buffer_size           = 2M
    log_timestamps                 = SYSTEM
    lower_case_table_names         = 1
    default-authentication-plugin  =mysql_native_password #(设置为可远程登录)
    
  4. 初始化数据库:

    /opt/app/mysql/bin/mysqld --user=mysql --basedir=/opt/app/mysql --datadir=/opt/dataSet/mysql --initialize-insecure


    官方推荐使用--initialize,会在错误日志中生成难以输入的临时密码,我这里使用的免密码的方式
     

    cat  /opt/dataSet/mysql/error.log | grep -i password
    
    

     

  5. 设置启动文件和环境变量:

    cp /opt/app/mysql/support-files/mysql.server /etc/init.d/mysql

     

  6. --启动数据库:
     

    /etc/init.d/mysql start
    
    
    vim /etc/profile.d/mysql.sh
    
    cat /etc/profile.d/mysql.sh
    
    export PATH=$PATH:/opt/dataSet/mysql/bin

    使得环境变量生效:

    source /etc/profile.d/mysql.sh

     

  7. 安装完毕,查看mysql版本信息:

     mysqld --version

     

  8. 登录mysql
    /opt/app/mysql/bin/mysql -p -S /tmp/mysql.sock
    或者:
    mysql -uroot -p 

  9. 设置navicat可远程登录(以下操作皆在mysql中)

    在设置之前先把免密登录mysql改成自己设置的密码。
    下面设置为“123456”
    set global validate_password.policy=0;
    set global validate_password.length=1;
    alter user user() identified by '123456';
    

    设置远程连接
     

    use mysql;
    alter user 'root'@'localhost' identified with mysql_native_password by '123456';
    flush privileges;
    update user set host='%' where user='root';
    flush privileges;
    

    安装成功连接成功:

  10. 设置mysql快捷登录
     

    vim .bashrc
    

    在文件中添加

    alias mysql='mysql -uroot -p123456'
    

    使配置文件生效
     

    source .bashrc
    

    这样就可以直接在指令行中打mysql登录了

 


二:yum方式安装

找了许久,发现照着博客能成功安装的有yum 连接

对于一般的人照着上面那个博客也够用了,但是因为上述yum安装,数据的存储路径默认为/var/lib/mysql。可是我所用的虚机磁盘主要挂在/opt路径,考虑到以后会在mysql中存储大量的数据,所以经过一番不易的探索,把mysql的数据存储路径换在了/opt/dataSet路径。具体步骤如下所示:

  1. 把/var/lib/mysql 整个目录复制到/opt/dataSet(把/var/lib/mysql整个目录保持权限复制到/opt/dataSet)
    cp  -arp /var/lib/mysql /opt/dataSet/ 

     

  2. 修改配置文件 my.cnf
    datadir=/opt/dataSet/mysql #(新的数据存储路径)
    socket=/opt/dataSet/mysql/mysql.sock #(#修改socket参数)
    
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    default_authentication_plugin=mysql_native_password
    

     

  3. 修改MySQL启动脚本/etc/init.d/mysql
     

    datadir = /opt/dataSet/mysql
    
    ln -s /opt/dataSet/mysql/mysql.sock  /var/lib/mysql/mysql.sock
    

     

  4. 做一个mysql.sock 链接:

    ln -sf /opt/dataSet/mysql/mysql.sock  /var/lib/mysql/mysql.sock


     

  5. 检查相关目录的属主和权限。
     

    chown -R mysql:mysql /opt/dataSet/mysql/

     

  6. 重启mysql
     

    /etc/init.d/mysql start
    或者
    service mysqld start
    

     

参考博客:rmp安装yum安装更换mysql数据存储路径1更换mysql数据存储路径2 
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章