修改方式

默认安装位置

  1. 数据库目录:/var/lib/mysql/
  2. 配置文件:/usr/share/mysql(命令及配置文件) ,/etc/mysql(如:my.cnf
  3. 相关命令:/usr/bin(mysqladmin mysqldump等命令) 和/usr/sbin启动脚本:/etc/init.d/mysql(启动脚本文件mysql的目录)

创建目标文件

  1. mkdir /data/mysql

把默认安装的MySql数据库复制到/data/mysql中并设置权限

  1. sudo cp -R /var/lib/mysql/* /data/mysql
  2. sudo chown -R mysql:mysql /data/mysql <==修改新路径的访问权限
  3. sudo service mysql stop <==停止mysql服务

修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件

  1. datadir = /data/mysql

修改启动文件

  1. sudo vim /etc/apparmor.d/usr.sbin.mysqld
  2. /var/lib/mysql/ r
  3. /var/lib/mysql/** rwk
  4. 改为
  5. /data/mysql/ r
  6. /data/mysql/** rwk

重启MySQL

  1. sudo /etc/init.d/apparmor restart
  2. sudo /etc/init.d/mysql restart
  1. [client]
  2. socket=/var/run/mysqld/mysql.sock
  3. port=3306
  4. [mysqld]
  5. datadir=/data/mysql/data
  6. socket=/var/run/mysqld/mysqld.sock
  7. pid-file=/var/run/mysqld/mysqld.pid
  8. log_bin=mysql-bin
  9. log-error=/var/log/mysql/error.log
  10. default-storage-engine=INNODB
  11. character_set_server=utf8mb4
  12. collation_server=utf8mb4_general_ci
  13. port=3306
  14. # Disabling symbolic-links is recommended to prevent assorted security risks
  15. symbolic-links=0
  16. server_id=1
  17. ##二进制日志格式STATEMENT,ROW,MIXED
  18. binlog_format=ROW
  19. ## 最大连接数,MySQL服务器允许的最大连接数16384,连接数越多消耗内存越多
  20. max_connections = 1000
  21. ## 日志过期时间,包括二进制日志(过期自动删除)
  22. expire_logs_days = 15
  23. ## Enable Per Table Data for InnoDB to shrink ibdata1(innoDB表优化)
  24. innodb_file_per_table = 1
  25. #默认128M,用于存储页面缓存数据外,另外正常情况下还有大约8%的开销,主要用在每个缓存页帧的描述、adaptive hash等数据结构,适当的增加这个参数的大小,可以有效的减少 InnoDB 类型的表的磁盘 I/O
  26. innodb_buffer_pool_size = 2048M
  27. innodb_log_file_size = 512M
  28. #默认是8MB,InnoDB在写事务日志的时候,为了提高性能,也是先将信息写入Innofb Log Buffer中,当满足innodb_flush_log_trx_commit参数所设置的相应条件(或者日志缓冲区写满)之后,才会将日志写到文件 (或者同步到磁盘)中
  29. innodb_log_buffer_size = 8M
  30. innodb_flush_log_at_trx_commit = 2
  31. #表大小写不敏感
  32. lower_case_table_names=1
  33. #跳过密码 安装完后屏蔽该选项
  34. #skip-grant-tables