MySQL在Centos7下的安装与配置

MySQL概要

MySQL是一种关联数据库系统关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度提高了灵活性。MySQL分为社区版和商业版,由于其性能高、成本低、可靠性好,而被用于在Internet上的中小型网站中。

MySQL安装方法 在线安装 二进制包安装 源码安装 自定制安装
优点 简单,安装快;适合初学者学习使用 安装简单,安装路径灵活;一台服务器可以安装多个MySQL 根据需要可定制编译,路径灵活;一台服务器可以安装多个MySQL;性能最好 结合在线和源码安装的优点,将源码制作成符合要求的安装包,放到仓库里实现在线安装
缺点 无法定制,安装路径不灵活,默认路径不能修改,一台服务器只能安装一个MySQL 已经经过编译,性能不如源码编译的好;不能灵活定制编译参数 安装过程相对复杂;编译时间较长

MySQL安装与配置

创建mysql用户和账号

添加mysql组:
groupadd mysql
添加mysql用户账号:
useradd -s /sbin/nologin -g mysql -M mysql

useradd参数 说明
-s /sbin/nologin 只创建用户角色,禁止用户登录操作系统,增加安全
-g mysql 创建mysql用户属于mysql组
-M 不创建用户家目录

创建mysql数据存放目录

[root@host01~]# mkdir -pv /mydata/data
[root@host01~]# cd /mydata
[root@host01 mydata]# chown -R mysql:mysql data/
[root@host01 mydata]# chmod 710 data/

安装并初始化MySQL,使用通过二进制格式的MySQL

安装mysql初始化所需的依赖库:
[root@host01 mysql]# yum install libaio perl perl-devel –y
下载mysql包,参数-c表示开启断点续传:
[root@host01 mysql]# wget -c https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
如下载较慢,请点我在线下载包
解压下载好的包到/mydata目录下,注:要将包移动到路径下再解压:
[root@host01 mysql]# tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz
[root@host01 mysql]# cd /usr/local/
创建mysql软连接:
[root@host01 local]# ln -sv /mydata/mysql-5.6.32-linux-glibc2.5-x86_64 mysql
[root@host01 local]# cd mysql
[root@host01 mysql]# chown -R mysql.mysql .
执行脚本初始化MySQL:
[root@host01 mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data/

如提示错误如下:
[root@localhost mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/mydata/data/
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
解决方法:yum install autoconf安装Data:Dumper模块。为了安全,需要把mysql目录下文件属主更改回root用户chown -R root.root .

修改MySQL服务脚本及配置文件

拷贝MySQL服务 脚本并设置开机启动:
[root@host01 mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
[root@host01 mysql]# chmod +x /etc/init.d/mysqld
[root@host01 mysql]# chkconfig --add mysqld
[root@host01 mysql]# chkconfig mysqld on
查看MySQL开机启动代码:
[root@host01 mysql]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@host01 mysql]# mkdir /var/log/mysql
[root@host01 mysql]# mkdir /var/run/mysql
修改mysql配置文件datadir数据目录位置:
[root@host01 mysql]# vi /etc/my.cnf

1
2
3
datadir=/mydata/data
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

启动mysql服务

[root@host01 mysql]# systemctl start mysqld
[root@host01 mysql]# netstat -tnlp | grep 3306

此处如报错:命令未找到,请执行命令安装此工具yum install -y net-tools

为mysql添加PATH环境变量

新建vi文件,添加内容:
[root@host01 mysql]# vi /etc/profile.d/mysql.sh

1
2
#!/bin/bash
export PATH=$PATH:/usr/local/mysql/bin

添加权限:
[root@host01 mysql]# chmod +x /etc/profile.d/mysql.sh
执行mysql.sh:
[root@host01 mysql]# . /etc/profile.d/mysql.sh

为mysql添加man帮助及输出头文件和库文件

安装man(或man-pages-zh-CN.noarch):
[root@host01 mysql]# yum install man -y
修改配置文件,有的系统中这个文件的名称为man_db.conf:

注:如您的文件为man_db.conf,则下方添加的内容应该为MANDATORY_MANPATH /usr/local/mysql/man

[root@host01 mysql]# vi /etc/man.config
MANPATH /usr/local/mysql/man

验证mysql的man帮助文件:
[root@host01 mysql]# man mysql
添加软链接:
[root@host01 mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
新建配置文件,添加内容:
[root@host01 mysql]# vi /etc/ld.so.conf.d/mysql-x86_64.conf
/usr/local/mysql/lib
查看动态链接库:
[root@host01 mysql]# ldconfig -v
建立软链接:
[root@host01 mysql]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
登录mysql,没有设置密码,所以直接回车即可:
[root@host01 mysql]# mysql -u root -p
默认无密码,可登录mysql后设置密码
set password for root@localhost = password('000000');