红帽7以上系统默认数据库不再是mysql了,rpm和yum方式安装的都是mariadb,但也不是不能装mysql,可以使用编译安装的方式来装mysql。
实验环境:centos7.2
实验目标:安装并配置mysql5.5.32
新增分区
先通过fdisk创建一个新分区,配额,用来存放mysql的数据:
刷新硬盘信息:
#partprobe devices
格式化新增分区:
# mkfs.xfs /dev/vdb3
根目录创建mysql数据挂载点(根据实际情况)
# mkdir /data
编辑/etc/fstab,新增一行设置开机自动挂(参数根据实际情况):
/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/