红帽7以上系统默认数据库再也不是mysql了,rpm和yum方式安装的都是mariadb,但也不是不能装mysql,能够使用编译安装的方式来装mysql。mysql
实验环境:centos7.2c++
实验目标:安装并配置mysql5.5.32sql
新增分区
数据库
先经过fdisk建立一个新分区,配额,用来存放mysql的数据:vim
刷新硬盘信息:
centos
#partprobe devices
格式化新增分区:安全
# mkfs.xfs /dev/vdb3
根目录建立mysql数据挂载点(根据实际状况)bash
# mkdir /data
编辑/etc/fstab,新增一行设置开机自动挂(参数根据实际状况):
ide
/dev/vdb3 /data xfs defaults 0 0
执行mount -av,根据fstab文档自动挂载:工具
# mount -av
安装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 $?
执行安装:
# make && make install
给mysql安装目录、数据存放目录受权mysql用户
chown -R mysql:mysql /usr/local/mysql/
chown -R mysql:mysql /data
chmod 1777 /tmp
查看/etc下的my.cnf文件,能够发现该文件没有配置的,把刚编译好的文件夹中的配置文件覆盖掉系统目录的配置文件
建立配置:
# cp support-files/my-large.cnf /etc/my.cnf
设置环境变量:
# 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
初始化安全配置:
启动mysql服务:
# service mysqld start
直接执行:
# mysql_secure_installation
回车:
Y:设置密码
登陆mysql测试: # mysql -u root -p
添加全局命令:
# ln -s /usr/local/mysql/bin/mysql /bin/