红帽7以上系统默认数据库不再是mysql了,rpm和yum方式安装的都是mariadb,但也不是不能装mysql,可以使用编译安装的方式来装mysql。


实验环境:centos7.2

实验目标:安装并配置mysql5.5.32


新增分区


先通过fdisk创建一个新分区,配额,用来存放mysql的数据:

centos7.2编译安装mysql5.5.32_第1张图片

刷新硬盘信息:

#partprobe devices

centos7.2编译安装mysql5.5.32_第2张图片


格式化新增分区:

# mkfs.xfs /dev/vdb3

centos7.2编译安装mysql5.5.32_第3张图片


根目录创建mysql数据挂载点(根据实际情况)

# mkdir /data


编辑/etc/fstab,新增一行设置开机自动挂(参数根据实际情况):

/dev/vdb3  /data     xfs     defaults    0 0


执行mount -av,根据fstab文档自动挂载:

# mount -av

centos7.2编译安装mysql5.5.32_第4张图片



安装mysql

开始安装之前,先把mysql用户删除掉,否则是编译不成功的。注意使用 -r 全部清空。

# userdel -r mysql
# grep mysql /etc/passwd


创建一个mysql用户,设置成8001

# useradd -u 8001 -s /sbin/nologin mysql


安装依赖以及必要工具:

yum –y install ncurses-devel
yum –y install cmake
yum –y install gcc-c++开始


解压mysql:

# tar xvf mysql-5.5.32.tar.gz


使用cmake开始编译:

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data -DMYSQL_USER=mysql


查看编译状态,输出0代表成功了:

# echo $?

centos7.2编译安装mysql5.5.32_第5张图片


执行安装:

# make && make install

centos7.2编译安装mysql5.5.32_第6张图片


给mysql安装目录、数据存放目录授权mysql用户

chown -R mysql:mysql /usr/local/mysql/
chown -R mysql:mysql /data
chmod 1777 /tmp


查看/etc下的my.cnf文件,可以发现该文件没有配置的,把刚编译好的文件夹中的配置文件覆盖掉系统目录的配置文件

centos7.2编译安装mysql5.5.32_第7张图片



创建配置:

# cp support-files/my-large.cnf /etc/my.cnf

wKiom1jmGXfzo8CQAAARn4fcrxg179.png


设置环境变量:

# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
# source /etc/profile


设置服务脚本,设置开机自动启动:

# cp support-files/mysql.server /etc/init.d/mysqld


给脚本添加执行权限:

# chmod +x /etc/init.d/mysqld


服务脚本修改2个参数(MySQL安装目录,数据存放目录# vim /etc/init.d/mysqld):

basedir=/usr/local/mysql
datadir=/data


初始化数据库:

给文件执行权限:

# chmod +x scripts/mysql_install_db

初始化数据库,看到2个ok代表执行成功:

# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data --user=mysql

centos7.2编译安装mysql5.5.32_第8张图片


初始化安全配置:

启动mysql服务:

# service mysqld start

wKioL1jmJQzw1SzLAAAP7X-PPG0611.png


直接执行:

# 
mysql_secure_installation


回车:

centos7.2编译安装mysql5.5.32_第9张图片


Y:设置密码

centos7.2编译安装mysql5.5.32_第10张图片

wKiom1jmJlfS1pgmAAAHE85IlYY493.png

wKioL1jmJlfDjbSIAAAH0Kq7XcQ132.png

wKiom1jmJlfyg1zEAAAPwLn_9UA529.png

centos7.2编译安装mysql5.5.32_第11张图片

登录mysql测试:

# mysql -u root -p

centos7.2编译安装mysql5.5.32_第12张图片


添加全局命令:

# ln -s /usr/local/mysql/bin/mysql /bin/