yum install gcc
yum install gcc-c++ libstdc++-devel
CMake是一个跨平台的安装(编译)工具,因为我们采用源码编译的方式安装mysql,所以在安装之前我们需要在Linux系统上安装编译工具。可以在cmake官网(http://www.cmake.org/)上下载安装包。
cd /usr/local/tools/cmake-2.8.8
[root@iZbp1efkej2remjbhg7h0wZ cmake-2.8.8]# ./bootstrap
[root@iZbp1efkej2remjbhg7h0wZ cmake-2.8.8]# make && make install
[root@iZbp1efkej2remjbhg7h0wZ ~]# yum install ncurses-devel -y
[root@iZbp1efkej2remjbhg7h0wZ ~]# groupadd mysql
[root@iZbp1efkej2remjbhg7h0wZ ~]# useradd mysql -s /sbin/nologin -M -g mysql
准备工作做好了,接下来就可以下载安装mysql了,首先我们去mysql官网下载mysql源码包。点击下载mysql源码包
首先把下载的mysql源码包上传到linux系统,我的上传目录为:/usr/local/tools/
1.解压
[root@iZbp1efkej2remjbhg7h0wZ tools]# tar -zxvf mysql-5.5.32.tar.gz
2.使用cmake编译
执行以下命令:
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
-DMYSQL_DATADIR=/application/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0
3.编译和安装
make && make install
通过上面的步骤,mysql初步安装已经好了,可以通过以下命令查看
[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# ll /application/mysql/data/
###1.进入到mysql源码目录,copy一份配置文件到 /etc 目录
[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf
###2.改变data目录属主和属组
[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# chown -R mysql.mysql /application/mysql/data/
注:用户mysql和用户组mysql就是我们初始创建的用户和组。
###3.修改tmp目录权限
[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# chmod -R 1777 /tmp/
注:执行上面命令以后tmp目录权限会变为drwxrwxrwt。
文件t权限:如果文件设置了t权限则只用属主和root有删除文件的权限
###4.初始化
进入到scripts目录
[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# cd /application/mysql/scripts/
执行命令
./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql
###5.设置mysql启动服务
首先进入到mysql源码目录,执行以下命令:
[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# /bin/cp support-files/mysql.server /etc/init.d/mysqld
###6.给mysqld新增执行权限
[root@iZbp1efkej2remjbhg7h0wZ mysql-5.5.32]# chmod +x /etc/init.d/mysqld
###7.启动mysql
经过以上步骤mysql已经安装好了,接下来就可以启动服务了
[root@iZbp1efkej2remjbhg7h0wZ ~]# /etc/init.d/mysqld start
Starting MySQL… SUCCESS! (mysql启动成功)
###8.添加mysql环境变量
[root@iZbp1efkej2remjbhg7h0wZ ~]# vim /etc/profile
保存之后,执行以下命令使配置生效
[root@iZbp1efkej2remjbhg7h0wZ ~]# source /etc/profile
mysql环境变量配置好之后,就可以使用mysql命令登录mysql了。
###1.修改root密码
mysql> /application/mysql/bin/mysqladmin -u root password 'root'
root密码设置后,使用以下命令登录mysql
###2.开启mysql远程访问
配置防火墙打开3306端口:
[root@iZbp1efkej2remjbhg7h0wZ ~]# vim /etc/sysconfig/iptables
设置root用户可以远程访问:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的密码'
使修改生效:
mysql> FLUSH PRIVILEGES
Linux上 mysql安装另外两种方式:
yum方式安装
yum方式安装极其简单,只需执行 yum install mysql-server即可。
yum方式安装适合对数据库要求不太高的场合。
二进制安装方式
和源码安装比较相似,二进制安装不需要编译。
有什么错误之处,欢迎大家指正。