001.mysql安装(lnmp)

时间:2022-04-14 02:21:53

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即可