您的位置:首页 > 博客中心 > 数据库 >

CentOS6.5上编译安装MySQL-5.5.38

时间:2022-03-10 18:04

MySQL通常有三种安装方式:

  • 其他功能指令

-DMYSQL_TCP_PORT=3306                   # 默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock       # 默认套接字文件路径
-DENABLED_LOCAL_INFILE=1                # 是否启用LOCAL_INFILE功能
-DEXTRA_CHARSETS=all                    # 是否支持额外的字符集
-DDEFAULT_CHARSET=utf8                  # 默认编码机制
-DDEFAULT_COLLATION=utf8_general_ci     # 设定默认语言的排序规则
-DWITH_DEBUG=0                          # DEBUG功能设置
-DENABLE_PROFILING=1                    # 性能分析功能是否启用

7、MySQL服务启动脚本 及 配置文件

为了方便管理,MySQL官方提供给我们一些脚本:

# 拷贝配置文件
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf

# 在mysql解压目录下,拷贝服务启动脚本
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
# 给脚本赋予可执行权限
[root@localhost mysql]# chmod +x /etc/init.d/mysqld
# 加入SysV
[root@localhost mysql]# chkconfig --add mysqld
# 开机启动
[root@localhost mysql]# chkconfig mysqld on

8、初始化

[root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/data --user=mysql

额, 不知道什么情况, mysql_install_db 竟然没有可执行权限。

[root@localhost mysql]# chmod +x /usr/local/mysql/scripts/mysql_install_db
# 然后重新执行

### 或者
[root@localhost mysql]# bash /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/mydata/data --user=mysql


--basedir:该参数指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。
--datadir:该参数指定了 MySQL 的数据库文件放在什么路径下。数据库文件即我们常说的 MySQL data 文件

注意:为了安全,我们把mysql目录属主、属组改为root

[root@localhost mysql]# chown -R root:root mysql-5.5.38/


9、修改配置文件 /etc/my.cnf

# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
user            = mysql
port            = 3306
socket          = /tmp/mysql.sock
basedir         = /usr/local/mysql
datadir         = /mydata/data
pid-file        = /mydata/data/mysqld.pid
ft_min_word_len = 4
max_allowed_packet = 32M
character-set-server = utf8
skip-name-resolve

10、启动mysql服务

[root@localhost mysql]# service mysqld start
Starting MySQL... SUCCESS! 

# 做一些基础安全配置
[root@localhost mysql]# bin/mysql_secure_installation
# 根据提示选择 [Y/n]

# 测试是否启动成功,查看3306端口
[root@localhost mysql]# netstat -tunlp | grep 3306
tcp        0      0 0.0.0.0:3306        0.0.0.0:*          LISTEN      24533/mysqld

# 登录mysql
[root@localhost mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.5.38-log Source distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql>


接下来,我们还需要做一些额外的工作:

1、将mysql的bin目录加入PATH 环境变量

[root@localhost mysql]# vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
[root@localhost mysql]# . /etc/profile.d/mysql.sh 
# 看一下是否成功
[root@localhost mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

2、将mysql的man手册加入到man的path

[root@localhost mysql]# vim /etc/man.config
# 新增一行
MANPATH /usr/local/mysql/man

3、mysql的库文件

[root@localhost mysql]# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib/
[root@localhost mysql]# ldconfig -v
/usr/local/mysql/lib:
	libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
/usr/lib/mysql:
	libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
	libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0

4、mysql的头文件

[root@localhost mysql]# ln -sv /usr/local/mysql/include /usr/include/mysql
`/usr/include/mysql‘ -> `/usr/local/mysql/include‘


附录:

MySQL 5.5 编译参数说明

从mysql5.5起,mysql源码安装开始使用cmake。下面是 mysql 5.5 与以前的参数对照:

configure               Command CMake Command
./configure             cmake .
./configure –help      cmake . -LH or ccmake .


参数说明:

红色为推荐参数(当然也要根据你的需求来制定)

绿色为可用参数
-DCMAKE_INSTALL_preFIX=/usr/local/mysql //安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安装blackhole存储引擎
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DDEFAULT_CHARSET=utf8   //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all   //安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 //MySQL监听端口
-DMYSQL_USER=mysql //MySQL用户名
其他参数:
-DWITH-EMBEDDED_SERVER=1 //编译成embedded MySQL library (libmysqld.a)
-DSYSCONFDIR=/etc //MySQL配辑文件
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock //Unix socket 文件路径
-DWITH_READLINE=1 //快捷键功能
-DWITH_SSL=yes //SSL
-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 //安装frderated存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 //安装数据库分区
-DINSTALL_PLUGINDIR=/usr/local/mysql/plugin //插件文件及配置路径

BUILD_CONFIG   采用官方发行版一致的编译参数
CMAKE_BUILD_TYPE 指定产品编译说明信息   RelWithDebInf
CMAKE_INSTALL_preFIX 指定MySQL安装路径  /usr/local/mysql
CPACK_MONOLITHIC_INSTALL是否建立单个安装包文件 OFF
DEFAULT_CHARSET  MYSQL 默认字符集  latin1
DEFAULT_COLLATION MYSQL 默认排序字符集  latin1_swedish_ci
ENABLE_DEBUG_SYNC 是否启用同步调试功能  ON
ENABLE_DOWNLOADS 是否下载可选文件  OFF
ENABLE_DTRACE  是否包含 DTrace 支持
ENABLE_GCOV  是否包含 Gcov 支持     5.5.14
ENABLED_LOCAL_INFILE 是否启用本地 LOAD DATA INFILE OFF
ENABLED_PROFILING 是否启用代码查询分析  ON
INSTALL_BINDIR  MySQL 主执行文件目录  preFIX/bin
INSTALL_DOCDIR  文档安装路径   preFIX/docs
INSTALL_DOCREADMEDIR 自述文件目录   preFIX
INSTALL_INCLUDEDIR 头文件目录   preFIX/include
INSTALL_INFODIR  关于信息文件目录  preFIX/docs
INSTALL_LAYOUT  选择预定义的安装  STANDALONE
INSTALL_LIBDIR  库文件目录   preFIX/lib
INSTALL_MANDIR  手册页面目录   preFIX/man
INSTALL_MYSQLSHAREDIR 共享数据目录   preFIX/share
INSTALL_MYSQLTESTDIR mysql-test 目录   preFIX/mysql-test
INSTALL_PLUGINDIR 插件目录   preFIX/lib/plugin
INSTALL_SBINDIR  服务器超级用户执行文件目录 preFIX/bin
INSTALL_SCRIPTDIR 脚本目录   preFIX/scripts
INSTALL_SHAREDIR aclocal/mysql.m4 安装目录 preFIX/share
INSTALL_SQLBENCHDIR sql-bench 性能测试工具目录 preFIX
INSTALL_SUPPORTFILESDIR 扩展支持文件目录  preFIX/support-files
MYSQL_DATADIR  数据库存放目录
MYSQL_MAINTAINER_MODE 是否启用MySQL的维护环境  OFF
MYSQL_TCP_PORT  TCP/IP 端口号   3306
MYSQL_UNIX_ADDR  Unix Socket 套接字文件  /tmp/mysql.sock
SYSCONFDIR  选项配置文件目录
WITH_COMMENT  编译环境发表评论
WITH_DEBUG  是否包括调试支持  OFF
WITH_EMBEDDED_SERVER 是否要建立嵌入式服务器  OFF
WITH_xxx_STORAGE_ENGINE 静态编译xxx 存储引擎到服务器
WITH_EXTRA_CHARSETS 额外的字符集,包括  all
WITH_LIBWRAP  是否包括支持libwrap(TCP包装) OFF
WITH_READLINE  使用捆绑的readline  OFF
WITH_SSL  是否支持SSL  no
WITH_ZLIB  是否支持Zlib  system
WITHOUT_xxx_


MySQL 5.5.30服务器端优化
 
/etc/my.cnf配置文件
 
[client]
port            = 3306
socket          = /tmp/mysql.sock
 
 
[mysqld]
####  mise  ####
user = mysql
port            = 3306
socket          = /tmp/mysql.sock
basedir = /data/mysql
datadir = /data/mysql/data
pid-file=/data/mysql/mysqld.pid
#default-storage-engine = MYISAM
ft_min_word_len = 4
max_allowed_packet = 32M
character-set-server = utf8
skip-name-resolve
 
 
####  performance  ####
open_files_limit = 10240
max_connections = 800
max_connect_errors = 6000
thread_stack = 192K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 256M
max_heap_table_size = 256M
slow_query_log
long_query_time = 1
log_slow_queries=/data/mysql/slow-log.log
 
 
#### log ####
log-error=/data/mysql/mysqld.err
back_log = 500
log-bin=mysql-bin
max_binlog_cache_size = 8M
max_binlog_size = 512M
binlog_format=mixed
expire_logs_days = 7
 
 
####  buffer && cache  ####
read_buffer_size = 10M
read_rnd_buffer_size = 32M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 300
thread_concurrency = 8
query_cache_size = 64M
query_cache_limit = 4M
binlog_cache_size = 4M
table_open_cache = 2048
key_buffer_size = 32M
bulk_insert_buffer_size = 64M
 
 
####  myisam  ####
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
 
 
####  innodb  ####
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 4G
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 150M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 60
innodb_flush_method = O_DIRECT
 
####  replication  ####
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
server-id = 1
 
[mysqldump]
quick
max_allowed_packet = 16M
 
[mysql]
no-auto-rehash
 
[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 32M
read_buffer = 8M
write_buffer = 8M
 
[mysqlhotcopy]
interactive-timeout
 
[mysqld_safe]
open-files-limit = 8196


本文出自 “” 博客,请务必保留此出处

CentOS6.5上编译安装MySQL-5.5.38,布布扣,bubuko.com

热门排行

今日推荐

热门手游