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

原文地址:https://www.cnblogs.com/ruo-yu/p/5165555.html