linux环境下安装msyql数据库完整教程

安装前准备:查看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-*

2:安装cmake编译软件
yum install -y cmake

3:创建用户和组
useradd mysql
groupadd -g mysql mysql
4:创建数据安装目录
mkdir -p /usr/local/mysql
mkdri -p /usr/local/mysql/data
5:修改目录权限和文件属主
chown -R mysql:msyql /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

13:设置启动项

chkconfig --add mysqld;

chkconifg --level 235 mysqld on

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后存盘退出重启机器试试。


你可能感兴趣的:(linux环境下安装msyql数据库完整教程)