001.mysql安装(lnmp)
mysql官方网站:http://dev.mysql.com/downloads/
Linux环境:刚安装的32位的“最小化安装“的CentOS 6.7
mysql版本:本次实验安装的是mysql5.1,基于32位操作系统,此次下载的为二进制免编译包。安装环境为32位CentOS 6.7
搜狐开源镜像站点:http://mirrors.sohu.com/,去这儿下载mysql源码包。
一.安装mysql
卸载centos自带的mysql:
[root@huh ~]# which mysql /usr/bin/mysql [root@huh ~]# rpm -qf /usr/bin/mysql mysql-5.1.73-5.el6_6.i686 [root@huh ~]# yum remove mysql
安装mysql:
[root@huh ~]# cd /usr/local/src/ [root@huh src]# wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz
[root@huh src]# tar -zxvf mysql-5.1.73-linux-i686-glibc23.tar.gz [root@huh src]# mv mysql-5.1.73-linux-i686-glibc23 /usr/local/mysql/
注:我们将mysql安装在/usr/local/mysql/目录下
添加mysql软链接:
[root@huh ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
二.建立mysql用户,并初始化数据库
[root@huh src]# useradd -s /sbin/nologin -M mysql [root@huh src]# cd /usr/local/mysql [root@huh mysql]# mkdir -p /data/mysql [root@huh mysql]# chown -R mysql /data/mysql [root@huh mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
注:1.创建的mysql用户不能登录终端,没有创建家目录
2.mkdir的参数-p表示级联创建
3.将/data/mysql目录的属组改为mysql
4.mysql_install_db用来初始化数据库,--user定义数据库的所属主,--datadir定义数据库安装到哪里。(若出现两个OK代表初始化成功)
三.拷贝配置文件my.cnf和启动脚本mysqld
拷贝配置文件并修改:
[root@huh mysql]# cd support-files/ [root@huh support-files]# cp my-large.cnf /etc/my.cnf
[root@huh support-files]# vim /etc/my.cnf
并将my.cnf中的"log-bin=mysql-bin"和"binlog_format=mixed"这两个配置行注释掉
拷贝启动脚本并修改:
[root@huh support-files]# cp mysql.server /etc/init.d/mysqld
[root@huh support-files]# chmod 755 /etc/init.d/mysqld
[root@huh support-files]# vim /etc/init.d/mysqld
找到"basedir="和"datadir="这两个配置行,并改为"basedir=/usr/local/mysql"和"datadir=/data/mysql"
注:1.mysqld脚本文件中basedir指定我们的mysql程序放在哪,
2.mysqld脚本文件中datadir指定我们定义的data mysql。
四.将mysql加入系统服务并启动
[root@huh support-files]# chkconfig --add mysqld [root@huh support-files]# chkconfig mysqld on [root@huh support-files]# /etc/init.d/mysqld start Starting MySQL [确定]
注:chkconfig是检查和设置系统的各种服务
五.查看mysql进程和监听端口:
[root@huh support-files]# ps aux |grep mysql root 1952 0.0 0.1 6680 1340 pts/0 S 03:30 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/huh.pid mysql 2070 0.2 4.3 390556 44592 pts/0 Sl 03:30 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/huh.err --pid-file=/data/mysql/huh.pid --socket=/tmp/mysql.sock --port=3306 root 2090 0.0 0.0 6048 780 pts/0 R+ 03:31 0:00 grep --color mysql [root@huh support-files]# netstat -lnp |grep mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2070/mysqld unix 2 [ ACC ] STREAM LISTENING 22354 2070/mysqld /tmp/mysql.sock
六.mysql配置文件讲解
过滤掉注释信息后的/etc/my.cnf的文件内容:
#my.cnf [client] port= 3306 socket= /tmp/mysql.sock #The mysql server [mysqld] port= 3306 #端口 socket= /tmp/mysql.sock #监听的socket skip-locking #是否要过滤掉lock key_buffer_size = 256M #用户索引块的缓冲区,增加它可以获得更好的索引处理速度 max_allowed_packet = 1M #允许最大的包 table_open_cache = 256 #所有线程打开表的数量 sort_buffer_size = 1M #排序的缓冲区内存大小(一个线程) read_buffer_size = 1M #读的缓冲区 read_rnd_buffer_size = 4M #随机读的缓冲区 myisam_sort_buffer_size = 64M #针对myisam引擎来说的 thread_cache_size = 8 #缓存可重用的限制,跟cpu核数有关 query_cache_size= 16M #查询缓存 thread_concurrency = 8 #和cpu核数有关,最大并发线程数 log-bin=mysql-bin binlog_format=mixed server-id= 1 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 128M sort_buffer_size = 128M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
附:
1.mysql禁止监听端口:在/etc/my.cnf中mysqld配置部分加入一行skip-networking,重启mysql即可