安装前准备:查看mysql是否已经安装
1:查询软件包是否安装 rpm -qa msyql 若是安装就删除掉
2:若是已经make过 须要 make clean 而且删除CMakeCache.txt文件
3:msyql版本:mysql-5.5.22
----------------------------------------------------------
1:安装依赖包
yum -y install gcc gcc-c++ gcc-g77 autoconf bison automake \
zlib* fiex** libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* \
ncurses ncurses-*mysql
2:安装cmake编译软件
yum install -y cmakelinux
3:建立用户和组
groupadd mysql
useradd -g mysql mysql
4:建立数据安装目录
mkdir -p /usr/local/mysql
mkdir -p /usr/local/mysql/data
5:修改目录权限和文件属主
chown -R mysql:mysql /usr/local/mysql
6:tar zxvf /usr/local/src/mysql
6:cmake编译
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-Wno-dev
7:make && make install
8:复制配置文件(mysql本身的安装目录下)
cp ./support-files/my-medium.cnf /etc/my.cnf
9:复制mysql-server文件到/etc/init.d开机自动启动服务
cp ./support-files/mysql-server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
10:初始化数据库
scripts/mysql_install_db --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
11:启动msyql服务(经过安装目录下面的bin目录下的)
./bin/mysqld_safe --user=mysql &
12:修改root密码
./bin/mysqladmin
c++
13:设置启动项sql
chkconfig --add mysqld;数据库
chkconifg --level 235 mysqld on
centos
14:错误提示解决办法
CMake Warning (dev) in sql/CMakeLists.txt:
Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
interface. Run "cmake --help-policy CMP0022" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
Target "mysqld" has an INTERFACE_LINK_LIBRARIES property which differs from
its LINK_INTERFACE_LIBRARIES properties.
解决办法:在cmake尾部添加-Wno-dev参数
15:./bin/mysqld_safe --user=mysql &启动错误
1)多是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 而后从新启动mysqld!
2)可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,若是有使用“kill -9 进程号”杀死,而后从新启动mysqld!
3)多是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,若是存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !
4)mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5)skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,若是有就当即注释掉吧。
6)错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql全部者及权限
7)selinux惹的祸,若是是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled后存盘退出重启机器试试。
this