ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
### 下载社区版 MySQL Community Server,在linux-generic中选择对应的源码包,5.5大概180M,5.7大概600多M。 mysql 5.5.8要使用cmake编译 #### 1 创建用户 `useradd -r -s /sbin/nologin mysql` 创建数据目录 `chown -R mysql.mysql /data/mysql/` 说明: ~~~ which cmake /usr/local/bin/cmake ~~~ #### 2 编译 ~~~ cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 -DWITH_SSL=system \ -DWITH_ZLIB=system -DWITH_LIBWRAP=0 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci ~~~ #### 3 初始化mysql ~~~ chown -R root:mysql ./* scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ ~~~ #### 4 配置文件 `cp support-files/my-large.cnf /etc/my.cnf` 在[mysqld]中增加,指定数据库的路径 `datadir = /data/mysql` #### 5 服务脚本 `cp support-files/mysql.server /etc/init.d/mysqld` #### 6 测试启动 `service mysqld restart` ### MyISAM存储的表包含3个文件 ~~~ .frm:表结构定义文件 .MYD:表数据 .MYI:表索引 ~~~ ### InnoDB存储的表包含3个文件 ~~~ 所有表共享一个表空间文件; 建议:每表一个独立的表空间文件;但有些新特性不支持 innodb_file_per_table .frm: 表结构 .ibd: 表空间(表数据和表索引) ~~~ ### 为每个表设置独立的表空间 在/etc/my.cnf中的[mysqld]增加 `innodb_file_per_table = 1` #### 测试 将测试reload不会生效,必须重启 `service mysqld restart` 创建InnoDB表(5.5.8后默认创建表是InnoDB格式的)