环境:cenos6
软件:mysql2.6.20
关系型数据库
SQL:
mysql
oracle
db2
sysbaes
access
vfor
非关系型数据库
NoSQL
memorycache
redis
mongodb
mysql:
mysql是一个开源的关系型数据库
1.源码安装:
1.1 软件分类
服务端:mysql-server x86,x86_64
客户端:mysql-client x86,x86_64
1.2.安装方式:
rpm:
源码
二进制包
3.mysql下载地址
http://dev.mysql.com/downloads/mysql/
4.系统原生的mysql
rhel6及rhel6以下的版本都叫mysql
rhel7里面mysql叫做mariadb
安装原生mysql:
yum install mysql mysql-server
使用的是光盘镜像中的mysql
1.5安装之前的准备工作
准备cmake软件包
准备mysql源码包
准备一台虚拟机,添加一块20G的硬盘
源码安装mysql需要cmake的支持
所以需要先安装cmake
还需要检测系统是否支持编译安装
yum groupinstall "Development tools"
还需要一些特殊依赖关系
yum install openssl openssl-devel zlib zlib-devel ncurses-devel ncurses readline readline-devel
安装之前还需要把硬盘做成lvm进行管理以方便后期进行磁盘扩容
pvcreate /dev/sdb1 创建物理卷
vgcreate myvg /dev/sdb1 创建卷组
lvcreate -L 10G -n mydata myvg 创建逻辑卷
mke2fs -j /dev/myvg/mydata 格式化逻辑卷
mkdir /mydata 创建数据库
vim /etc/fstab 永久挂载
/dev/myvg/mydtata /mydata ext4 defaults 0 0 永久挂载编辑内容
准备用户:
groupadd -r mysql 创建用户
useradd -r -g mysql -s /sbin/nologin mysql 是用户不能登录
mkdir /mydata/data保存mysql数据的目录
chown mysql.mysql /mydata/data -R修改权限让mysql用户和mysql组对其拥有相应权限
2.安装
解压完成后进入目录 cd mysql-5.6.20
2.1cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci---------》相当于./configuer
2.2make
2.3make install
3.安装完成后配置文件
3. cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ #初始化
vim /etc/profile.d/mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
cp support-files/mysql.server /etc/init.d/mysqld56
cp support-files/my-default.cnf /etc/my.cnf记住备份以下my.cnf
3.2 .|source /usr/local/ mysql ---->使配置的文件全局生效
3.3 需要对/etc/my.cnf进行配置添加 vim ~/mycnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packe = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 16M
thread_concurrency = 4
datadir = /mydata/data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3.4 重启服务: /etc/ini.d/mysql56 restart
为mysql设置密码 mysqladmin -uroot password 'new_pass'
链接mysql服务器
本机:
mysql -uroot -p
输入密码:
推荐使用上面的方式
mysql -uroot -p123456
2. rpm安装:
rpm -Uvh MySQL-shared-*
rpm -Uvh MySQL-devel-5.6.21-1.el6.x86_64.rpm
rpm -Uvh MySQL-client-5.6.21-1.el6.x86_64.rpm
yum localinstall MySQL-server-5.6.21-1.el6.x86_64.rpm
3.二进制安装:
groupadd mysql #创建用户
useradd -r -g mysql mysql
创建存储目录:
mkdir -p /data/program/mysql/product
mkdir -p /data/program/mysql/data
mkdir -p /data/program/mysql/log
mkdir -p /data/program/mysql/backup
mkdir -p /data/program/mysql/tmp
mkdir -p /data/program/mysql/scripts
tar -zxvf mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz #解压二进制包
mv * /data/program/mysql/product/
chown -R mysql:mysql /data/program/mysql #设置mysql目录权限
su - mysql #切换用户
cd /data/program/mysql/product/scripts
./mysql_install_db --user=mysql --datadir=/data/program/mysql/data --defaults-file=/data/program/mysql #初始化
/product/my.cnf --basedir=/data/program/mysql/product/
cp /data/program/mysql/product/support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld #配置文件
basedir=/data/program/mysql/product
datadir=/data/program/mysql/data
vim /data/program/mysql/product/my.cnf #配置文件
[client]
port = 3369
socket = /data/program/mysql/tmp/mysql.sock
default-character-set=utf8
[mysqld]
port = 3369
server_id = 5
basedir = /data/program/mysql/product
datadir = /data/program/mysql/data
socket = /data/program/mysql/tmp/mysql.sock
pid_file=/data/program/mysql/tmp/mysql.pid
log_error = /data/program/mysql/log/error.log
innodb_buffer_pool_size = 8192M
innodb_file_per_table=1
tmp_table_size=64M
max_heap_table_size=64M
max_connections=600
character_set_server=utf8
autocommit=on
transaction_isolation=read-committed
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
skip-name-resolve=on
explicit_defaults_for_timestamp=on
lower_case_table_names=1
read_only=off
log_bin = /data/program/mysql/log/binlog
max_binlog_size=256m
binlog_format=row
expire_logs_days=30
innodb_log_file_size = 256m
innodb_log_files_in_group = 3
log_slave_updates=on
innodb_flush_log_at_trx_commit=0
log_bin_trust_function_creators=1
slow_query_log_file = /data/program/mysql/log/slow.log
slow_query_log=on
long_query_time=1
log_queries_not_using_indexes=on
/data/program/mysql/product/bin/mysqld_safe --defaults-file=/data/program/mysql/product/my.cnf &
mysql -uroot -p --socket=/data/program/mysql/tmp/mysql.sock
set password=password('123456');
flush privileges;
vi /etc/profile ŒÓÈëÒÔÏÂÐÅÏ¢ #配置文件
##database
export MYSQL_HOME=/data/program/mysql/product
export PATH=$PATH:/data/program/mysql/product/bin