MySQL的安装

来源:互联网 发布:足彩过滤软件 编辑:程序博客网 时间:2024/06/05 21:06

总体上来说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            = 3316socket          = /tmp/mysql.sock[mysql]prompt="\\u@\\h:\p  \\R:\\m:\\s [\\d]>"no-auto-rehash[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminlog = /opt/mysql/mysqld_multi.log[mysqld]#miscuser = mysqlbasedir = /usr/local/mysqldatadir = /data/mysql/mysql3316/dataport = 3316socket = /tmp/mysql.sockevent_scheduler = 0#timeoutinteractive_timeout = 300wait_timeout = 300#character setcharacter-set-server = utf8open_files_limit = 65535max_connections = 100max_connect_errors = 100000skip-name-resolve = 1#logslog-output=fileslow_query_log = 1slow_query_log_file = slow.loglog-error = error.loglog_warnings = 2pid-file = mysql.pidlong_query_time = 1#log-slow-admin-statements = 1#log-queries-not-using-indexes = 1log-slow-slave-statements = 1#binlogbinlog_format = mixedserver-id = 203306log-bin = /data/mysql/mysql3316/logs/mysql-binbinlog_cache_size = 4Mmax_binlog_size = 1Gmax_binlog_cache_size = 2Gsync_binlog = 0expire_logs_days = 10#relay logskip_slave_start = 1max_relay_log_size = 1Grelay_log_purge = 1relay_log_recovery = 1log_slave_updates#slave-skip-errors=1032,1053,1062explicit_defaults_for_timestamp=1#buffers & cachetable_open_cache = 2048table_definition_cache = 2048table_open_cache = 2048max_heap_table_size = 96Msort_buffer_size = 2Mjoin_buffer_size = 2Mthread_cache_size = 256query_cache_size = 0query_cache_type = 0query_cache_limit = 256Kquery_cache_min_res_unit = 512thread_stack = 192Ktmp_table_size = 96Mkey_buffer_size = 8Mread_buffer_size = 2Mread_rnd_buffer_size = 16Mbulk_insert_buffer_size = 32M#myisammyisam_sort_buffer_size = 128Mmyisam_max_sort_file_size = 10Gmyisam_repair_threads = 1#innodbinnodb_buffer_pool_size = 100Minnodb_buffer_pool_instances = 1innodb_data_file_path = ibdata1:1G:autoextendinnodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 64Minnodb_log_file_size = 500Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 50innodb_file_per_table = 1innodb_rollback_on_timeoutinnodb_status_file = 1innodb_io_capacity = 2000transaction_isolation = READ-COMMITTEDinnodb_flush_method = O_DIRECT

7.修改权限并初始化

cd /usr/local/
chown -R mysql:mysql mysql#注意这一步只是把软链接的权限给了mysql这个用户,还要把实际的文件权限给mysql用户,如下
cd /usr/local/mysqlchown -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

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

0 0
原创粉丝点击