安装环境:Centos 6.8,mysql 5.6.23
一、编译安装MySQL前准备工作
安装编译源码所需的工具和库
yum -y install gcc gcc-c++ ncurses-devel perl openssl-devel bison
安装cmake(记得好像从mysql 5.5开始需要cmake编译安装),可从https://cmake.org/download/ 中下载。
tar zxvfcmake-3.4.1.tar.gz cd cmake-3.4.1 ./bootstrap make && make install
二、创建用户及MySQL所需目录
新增mysql用户
groupadd -r mysql useradd -r -g mysql mysql
新建MySQL所需目录
mkdir -p /usr/local/mysql mkdir -p /data/mysqldb
数据库文件目录创建可参照http://zhoufan.blog.51cto.com/4278592/1790308创建LVM并挂载。
三、编译安装MySQL
可从http://dev.mysql.com/downloads/mysql/ 下载mysql源码。
tar zxvf mysql-5.6.23.tar.gz cd mysql-5.6.23 cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1\ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 -DSYSCONFDIR=/etc\ -DWITH_SSL=system -DWITH_ZLIB=system\ -DWITH_LIBWRAP=0 make&& make install
-DCMAKE_INSTALL_PREFIX=dir_name | 设置mysql安装目录 |
-DDEFAULT_CHARSET=charset_name | 设置服务器的字符集。缺省情况下,MySQL使用latin1的(CP1252西欧)字符集 |
-DDEFAULT_COLLATION=collation_name | 设置服务器的排序规则。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 |
存储引擎选项:MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。 |
-DMYSQL_DATADIR=dir_name | 设置mysql数据库文件目录 |
-DSYSCONFDIR | 设置my.cnf位置 |
修改mysql目录权限
cd /usr/local/mysql chown -R mysql:mysql . cd /data/mysqldb chown -R mysql:mysql .
初始化mysql数据库
cd/usr/local/mysql scripts/mysql_install_db--user=mysql --datadir=/data/mysqldb
编辑MySQL配置文件
mv /etc/my.cnf /etc/my.cnf.bak
编辑my.cnf,my.cnf可在percona官网中及按照自己的情况生成。网址如下:https://tools.percona.com/wizard 。
[mysql] # CLIENT # port = 3306 socket = /data/mysqldb/mysql.sock [mysqld] # GENERAL # user = mysql default-storage-engine = InnoDB socket = /data/mysqldb/mysql.sock pid-file = /data/mysqldb/mysql.pid # MyISAM # key-buffer-size = 32M myisam-recover = FORCE,BACKUP # SAFETY # max-allowed-packet = 16M max-connect-errors = 1000000 # DATA STORAGE # datadir = /data/mysqldb/ # BINARY LOGGING # log-bin = /data/mysqldb/mysql-bin expire-logs-days = 14 sync-binlog = 1 # REPLICATION # skip-slave-start = 1 relay-log = /data/mysqldb/relay-bin slave-net-timeout = 60 # CACHES AND LIMITS # tmp-table-size = 32M max-heap-table-size = 32M query-cache-type = 0 query-cache-size = 0 max-connections = 500 thread-cache-size = 50 open-files-limit = 65535 table-definition-cache = 4096 table-open-cache = 4096 # INNODB # innodb-flush-method = O_DIRECT innodb-log-files-in-group = 2 innodb-log-file-size = 64M innodb-flush-log-at-trx-commit = 1 innodb-file-per-table = 1 innodb-buffer-pool-size = 592M # LOGGING # log-error = /data/mysqldb/mysql-error.log log-queries-not-using-indexes = 1 slow-query-log = 1 slow-query-log-file = /data/mysqldb/mysql-slow.log
复制MySQL启动文件及其命令加入PATH
cp support-files/mysql.server /etc/init.d/mysqld vim /etc/profile.d/mysql.sh PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH source /etc/profile.d/mysql.sh
启动MySQL并增加启动项
service mysqld start chkconfig mysqld on
设置MySQL登录权限
drop user ‘‘@localhost; drop user ‘‘@hostname; update mysql.user set password=password(‘*******‘); flush privileges;
至此,MySQL编译安装完成。
时间: 2024-11-02 17:51:44