MySQL的安装

  1. 通过RPM包安装

  2. 使用编译好的二进制文件安装(一般是一个tar包)

  3. 下载源代码,采用自定义选项的房事安装
    简单来说方法1的rpm安装,安装是简单,维护费劲,后患无穷;方法3的源代码安装逼格无限,但是扪心自问一下,你自己编译得mysql能有官方优化得好吗。所以我们采用方法2的方式来安装。

这里以MySQL5.6.27为例,后面的文章也是以5.6.27为基础,操作系统我用CentOS6,64位

0.下载安装包

  • 登录http://dev.mysql.com/downloads/mysql/

  • 点击上面的Archives

  • 点击MySQL Community Server

  • Select Platform选择Linux-Generic;Select Version选择5.6.27

  • 使劲往下拉找到Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive 然后在后面的Download按钮上右键迅雷下载

你可以选择下载以后上传的自己的虚拟机里,或者复制下载地址的url用wget在虚拟机里下载。我用的wget

1.创建保存目录并解压文件

mkdir -p /data/workspace

cd /data/workspace/

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

tar zxvf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

2.创建MySQL启动程序位置

mkdir -p /opt/mysql

3.创建MySQL软链接

cd /usr/local/

ln -s /data/workspace/mysql-5.6.27-linux-glibc2.5-x86_64 mysql

4.创建MySQL帐号

groupadd mysql

useradd -r -g mysql mysql  -d /usr/local/mysql

5.创建mysql数据文件和日志存储位置

这里我没有使用默认的3306端口,而是使用3316端口,大家可以随意。

mkdir -p /data/mysql/mysql3316/{data,logs,tmp}

6.创建配置文件my.cnf

MySQL读取配置文件的位置有很多,日后会提到,这里大家先按我说的放在/etc下

vi /etc/my.cnf

将下面内容复制进去。具体的参数会在以后讲到,现在不必纠结这些参数有什么用处

#my.cnf
[client]
port            = 3316
socket          = /tmp/mysql.sock

[mysql]
prompt="\\u@\\h:\p  \\R:\\m:\\s [\\d]>"
no-auto-rehash

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /opt/mysql/mysqld_multi.log

[mysqld]
#misc
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/mysql3316/data
port = 3316
socket = /tmp/mysql.sock
event_scheduler = 0

#timeout
interactive_timeout = 300
wait_timeout = 300

#character set
character-set-server = utf8

open_files_limit = 65535
max_connections = 100
max_connect_errors = 100000

skip-name-resolve = 1
#logs
log-output=file
slow_query_log = 1
slow_query_log_file = slow.log
log-error = error.log
log_warnings = 2
pid-file = mysql.pid
long_query_time = 1
#log-slow-admin-statements = 1
#log-queries-not-using-indexes = 1
log-slow-slave-statements = 1


#binlog
binlog_format = mixed
server-id = 203306
log-bin = /data/mysql/mysql3316/logs/mysql-bin
binlog_cache_size = 4M
max_binlog_size = 1G
max_binlog_cache_size = 2G
sync_binlog = 0
expire_logs_days = 10

#relay log
skip_slave_start = 1
max_relay_log_size = 1G
relay_log_purge = 1
relay_log_recovery = 1
log_slave_updates
#slave-skip-errors=1032,1053,1062

explicit_defaults_for_timestamp=1
#buffers & cache
table_open_cache = 2048
table_definition_cache = 2048
table_open_cache = 2048
max_heap_table_size = 96M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 256
query_cache_size = 0
query_cache_type = 0
query_cache_limit = 256K
query_cache_min_res_unit = 512
thread_stack = 192K
tmp_table_size = 96M
key_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 32M

#myisam
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1

#innodb
innodb_buffer_pool_size = 100M
innodb_buffer_pool_instances = 1
innodb_data_file_path = ibdata1:1G:autoextend
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_log_file_size = 500M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 50
innodb_file_per_table = 1
innodb_rollback_on_timeout
innodb_status_file = 1
innodb_io_capacity = 2000
transaction_isolation = READ-COMMITTED
innodb_flush_method = O_DIRECT

7.修改权限并初始化

cd /usr/local/

chown -R mysql:mysql mysql
#注意这一步只是把软链接的权限给了mysql这个用户,还要把实际的文件权限给mysql用户,如下

cd /usr/local/mysql

chown -R mysql:mysql *

chown -R mysql:mysql /data/mysql/mysql3316

cd /usr/local/mysql

./scripts/mysql_install_db
#这一步是执行mysql安装包中的初始化,成功的话会看到下面图中的两个OK


8.激动人心的启动

cp support-files/mysql.server /etc/init.d/mysql

#把MySQL的启动文件复制到系统启动当中,这么做就行了,以后咱们基本不会用这种房事启动的。

#启动MySQL,运气好的话,你能看见下面的图
/etc/init.d/mysql start


9.进入MySQL

cp /usr/local/mysql/bin/mysql /usr/local/bin/
#为了我们以后省事。。。把MySQL的执行文件考到系统默认位置去

#以root方式登录进去,如下图
mysql -uroot -p


10.后面的那些事情

一般能登录进去就没有什么问题了,如果你还是不放心的话可以这么干

  • 查看启动日志
    cat /data/mysql/mysql3316/data/error.log

  • 查看端口是否打开,mysql进程是否启动
    netstat -nalp | grep 3316

    ps aux | grep mysql

下次我们再说说启动的那些事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值