MySQL 安装方法
本博文主要是为了增加记忆同时促进大家共同学习,如在发现中有理解错误请帮忙留言改正,不胜感激。 本次主要是mysql-5.5.54 的安装基础环境为:
centos 6.8
一、下载mysql-5.5.54 安装包
创建软件存放目录
mkdir /home/softwares/
cd/home/softwares/
wgethttp://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.54.tar.gz
二、安装mysql 依赖包
yum install -y cmake;
yum install -y gcc gcc-c++ ;
yum install -y ncurses-devel.x86_64 ;
yum install -y cmake.x86_64 ;
yum install -y libaio.x86_64 ;
yum install -y bison.x86_64 ;
yum install -y gcc-c++.x86_64;
yum install -y perl-Module-Build;
yum install -y libtool zilib-devel ;
yum install -y libaio.x86_64;
yum install -y perl.x86_64;
yum install -y perl-Module-Pluggable.x86_64;
yum install -y perl-Pod-Escapes.x86_64;
yum install -y perl-Pod-Simple.x86_64;
yum install -y perl-libs.x86_64;
yum install -y perl-version.x86_64;
yum install –y openssl openssl-devel ncurses ncurses-devel;
2、创建用户和组分区
groupadd mysql
useradd mysql -g mysql -M -s /sbin/nologin
3、解压mysql-5.5.54.tar.gz
tar -zxvf mysql-5.5.54.tar.gz && cd mysql-5.5.54/&& chmod +x *
4、编译安装
cmake \ ##相当于config -DCMAKE_INSTALL_PREFIX=/u01/app/mysql/db \ ##数据库安装的目录
-DSYSCONFDIR=/u01/app/mysql/db/etc \ ##数据库安装的配置文件,不用原来的默认文件可以避免多次升级的时候读取错误的配置文件
-DMYSQL_DATADIR=/u01/data/mysql/db/data \ ##数据库默认存放库表存放的位置
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/u01/app/mysql/db/mysql.sock \ ##本地通信日志
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
makeinstall
5、编写配置文件
cd /u01/app/mysql/db/&&mkdir etc && cd etc
mkdir etc
vi my.cnf
cat my.cnf
#########data###########
user=mysql
basedir = /u01/app/mysql/db
datadir = /u01/app/mysql/data
innodb_log_group_home_dir=/u01/app/mysql/engine/innolog
innodb_log_file_size = 50M
innodb_data_home_dir=/u01/app/mysql/engine/innodata
#innodb_data_file_path = ibdata1:100M;ibdata2:150M:autoextend
innodb_data_file_path = ibdata1:100M:autoextend
log-bin = /u01/app/mysql/log/mysql-binlog
log-bin-index = /u01/app/mysql/log/mysql-bin.index
binlog_cache_size = 32M
max_binlog_size=512M
binlog_format=row
innodb_file_per_table=1
log-error = /u01/app/mysql/mysql-error.log
pid-file = /u01/app/mysql/mysql.pid
skip-name-resolve
socket=/u01/app/mysql/mysql.sock
############pool#########
#*******skip-innodb*********
innodb_additional_mem_pool_size = 64M
innodb_buffer_pool_size=256M
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
port=3306
server-id= 1
# *** global cache ***
read_buffer_size = 32M
read_rnd_buffer_size = 128M
sort_buffer_size = 64M
join_buffer_size = 64M
# *** query cache ***
query_cache_size = 128M
query_cache_limit = 4M
# *** bin log ***
#log_slave_updates
log_warnings
###########others#########
#***transaction***
default-storage-engine = INNODB
transaction_isolation = REPEATABLE-READ
# *** thread ***
thread_cache_size = 16
thread_stack = 512K
#*** network ***
back_log = 512
#skip-networking
max_connections = 3000
max_connect_errors = 30
table_open_cache = 4096
max_allowed_packet = 32M
max_heap_table_size = 512M
#*** char set ***
character-set-server = utf8
#explicit_defaults_for_timestamp = true
# *** tmp table ***
tmp_table_size = 128M
# *** slow query log ***
slow_query_log
long_query_time = 10
quick
max_allowed_packet = 32M
auto-rehash
key_buffer_size = 12M
sort_buffer_size = 12M
read_buffer = 32M
write_buffer = 32M
interactive-timeout
socket=/u01/app/mysql/mysql.sock
port=3306
6、将mysql启动脚本脚本命令复制到/etc/init.d/
cp /u01/app/mysql/db/support-files/mysql.server/etc/init.d/mysqld && chmod +x /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
7、根据my.cnf 创建目录他不会自动创建目录
mkdir -p /u01/app/mysql/data/engine/innolog
mkdir -p /u01/app/mysql/data/engine/innodata
mkdir -p /u01/app/mysql/data/mysql-binlog
mkdir -p /u01/app/mysql/log/
chown mysql. /u01/app/mysql/ -R
cd /u01/app/mysql/db
8、初始化语句数据库安装指定的目录,数据库默认存放目录
./scripts/mysql_install_db --basedir=/u01/app/mysql/db --datadir=/u01/app/mysql/data --user=mysql
更改环境变量
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/u01/app/mysql/db/bin/
环境变量生效
source ~/.bash_profile
如果报错:
/etc/init.d/mysqld start
配置文件的问题
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
一般需要自己查询配置文件是否设置的参数过大或者过小,查看机器内存是否过小,如果都是可以的请删除除了db 文件之外的所有 然后重新创建目录
##########启动成功之后设置密码###########
mysqladmin -uroot password "123456"
页:
[1]