Linux下MySQL-5.6的源码安装2014-05-13 csdn博客 Zhu_Julian本文主要介绍centos下源码安装MySQL 5.6的方法,centos的版本为5.8.1)首先,你需要到MySQL官网下载源码tar包,点击MySQL Community Server,选择Source Code,源码包不大,只有 34M左右。注:以下操作没有特殊说明,都是以root账户执行。2)先安装cmake(mysql5.5以后源码安装都得通过cmake编译)# yum install cmake并确保以下两个包已安装最新版:ncursesncurses-devel
3)添加MySQL用户组和用户# groupadd mysql# useradd -g mysql mysql4)创建MySQL软件安装目录和数据存放目录
mkdir -p /opt/mysql #MySQL安装目录chown -R mysql:mysql /opt/mysqlmkdir -p /data/mysql#MySQL数据存放目录mkdir -p /data/mysql/data #存放数据mkdir -p /data/mysql/log#存放日志mkdir -p /data/mysql/tmp#存放临时文件chown -R mysql:mysql /data/mysql
5)cmake编译安装MySQL
tar zxvf mysql-5.6.13.tar.gzcd mysql-5.6.13cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/opt/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1makemake install
参数说明:-DCMAKE_INSTALL_PREFIX=/opt/mysql //指定安装目录
-DINSTALL_DATADIR=/data/mysql //指定数据存放目录
-DSYSCONFDIR=/opt/mysql //指定配置文件目录 (本例的配置文件为/opt/mysql/my.cnf)
-DDEFAULT_CHARSET=utf8 //指定字符集
-DDEFAULT_COLLATION=utf8_general_ci //指定校验字符
-DEXTRA_CHARSETS=all //安装所有扩展 字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据上述步骤执行成功后,MySQL软件已成功安装至/opt/mysql目录下。7)编辑配置文件my.cnf
[client]socket = /opt/mysql/run/mysql.sock[innotop]socket = /opt/mysql/run/mysql.sock[mysql]prompt = \u@\d \r:\m:\s>no-auto-rehash[mysqld_safe]pid-file = /opt/mysql/run/mysqld.pid[mysqld]#### Baes dir ####basedir = /opt/mysqldatadir = /data/mysql/datatmpdir = /data/mysql/tmpsocket = /opt/mysql/run/mysql.sock#### Base configure info ####port = 3306skip-name-resolveold_passwords = 0lower_case_table_names = 1open_files_limit = 65535read_rnd_buffer_size = 5Mmax_allowed_packet = 24Mmax_connect_errors = 50000max_connections = 1000max_user_connections = 950 thread_cache_size=64table_open_cache=1024thread_stack=262144wait_timeout=864000#### Log info ####log-error = /data/mysql/log/alert.logslow_query_log=1slow_query_log_file= /data/mysql/log/slow.loglog-slow-admin-statementslong_query_time = 0.1slow_launch_time=1#### Binary log && Relay log ####binlog_format="MIXED"log-bin = /data/mysql/log/mysql-binlog-slave-updates = 1relay-log = /data/mysql/log/mysqld-relay-binrelay-log-index = /data/mysql/log/mysqld-relay-bin.indexmaster-info-file = /data/mysql/log/master.inforelay-log-info-file = /data/mysql/log/relay-log.infomax_binlog_size = 500Mmax_binlog_cache_size = 2G#### query cache ####query_cache_size = 100Mquery_cache_limit = 1Kquery_cache_min_res_unit = 1Kquery_cache_type=2#myisamconcurrent_insert = 2key_buffer_size = 100Msort_buffer_size = 100Kjoin_buffer_size = 100Kread_buffer_size = 1Mmyisam_sort_buffer_size = 100M#innodb plugin#innodbdefault-storage-engine = INNODBinnodb_flush_method = O_DIRECTinnodb_file_per_table = 1innodb_open_files=60000innodb_flush_log_at_trx_commit = 2innodb_lock_wait_timeout = 100innodb_additional_mem_pool_size = 20Minnodb_buffer_pool_size = 16Ginnodb_log_buffer_size= 400Minnodb_log_file_size = 100Minnodb_log_files_in_group = 4innodb_file_io_threads = 4innodb_thread_concurrency = 16innodb_max_dirty_pages_pct = 50transaction-isolation = READ-COMMITTEDinnodb_data_file_path = ibdata1:10G;ibdata2:5G:autoextendinnodb_buffer_pool_instances=4innodb_thread_concurrency=32 ### Server id #### log_bin_trust_function_creators=1 read_only=0 server_id=5
8)创建数据库/opt/mysql/scripts/mysql_install_db --user=mysql上述建库语句将根据my.cnf里设置的数据文件目录和日志文件目录,生成相应的数据文件和日志文件,并创建系统数 据库(如mysql,test,information_schema,performance_schema)9)启动MySQL/opt/mysql/support-files/mysql.server start启动成功后,就可以以root用户登录(默认的root用户没有密码)/opt/mysql/bin/mysql -u root10)设置root密码,创建只读账号
export PATH=$PATH:/opt/mysql/bin mysqladmin -u root password "***"mysql -uroot -proot@(none) 06:08:34>GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "***" WITH GRANT OPTION;root@(none) 06:08:44>GRANT SELECT ON *.* TO "rnd"@"%" IDENTIFIED BY "***";
11)最后,把MySQL加入系统启动项和开机启动
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动chmod 755 /etc/init.d/mysqld #增加执行权限chkconfig mysqld on #加入开机启动
这样,执行service mysqld start即可启动MySQL了:)。