CentOS下mysql数据库data目录迁移和配置优化

目录迁移

  1. 关闭数据库服务
    service mysqld stop
  2. 复制数据库
    mv /var/lib/mysql /data/mysql # 或者使用cp -a复制 # 这两个命令都会带权限到新目录去
  3. 修改配置文件 /etc/my.cnf
    ```
    [mysqld]
    #datadir=/var/lib/mysql ------原系统默认路径
    datadir=/data/mysql ------现有路径
    #socket=/var/lib/mysql/mysql.sock ------原socket路径现
    socket=/data/mysql/mysql.sock ------现有路径

    [mysqld_safe]
    socket=/data/mysql/mysql.sock -----现有路径
    [client]
    socket=/data/mysql/mysql.sock -----现有路径
    [mysql.server]
    socket=/data/mysql/mysql.sock -----现有路径
    ```
  4. 重新启动服务
    service mysqld start
  5. 遇到迁移目录之后无法启动的问题,有可能是selinux搞的鬼,可以设置成Permissive模式
    # getenforce Enforcing # setenforce 0 # getenforce Permissive # setenforce 1 设置SELinux 成为enforcing模式 # setenforce 0 设置SELinux 成为permissive模式
    或者之间关闭selinux,vi /etc/selinux/config 修改 SELINUX=disabled
    # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted

配置优化

yum安装的mysql默认配置似乎是不能满足要求的,主要修改以下配置

# 批量执行语句包的大小
max_allowed_packet = 16M
# innodb缓存,设置为服务器内存的 80%左右
innodb_buffer_pool_size = 2048M
# 锁等待超时时间
innodb_lock_wait_timeout = 30
# 0时表示关闭,1时表示打开,2表示只要select 中明确指定SQL_CACHE才缓存
query_cache_type = 0
# 最大连接数
max_connections = 1024
# 下面两个参数一起设定
innodb_flush_log_at_trx_commit = 2
sync_binlog = 1000
# 表不区分大小写
lower_case_table_names = 1

转载于:https://www.cnblogs.com/huaface/p/8440982.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值