您好,欢迎访问一九零五行业门户网

Linux 下编译安装MySQL

最近在研究mysql,当然先要把它安装在机器上才行呀。记录下操作,加深记忆,也供以后参考。
准备工作:
linux版本:redhat linux 6.4
mysql版本(安装包):mysql-5.6.16.tar.gz
采取的安装方式:采用cmake进行编译安装,所以先要安装cmake才行。
cmake版本(安装包):cmake-2.8.12.2.tar.gz
1、安装cmake
cmake的安装所需要的依赖关系,我就采用yum安装,直接搞定了:yum -y install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libxpm-devel gettext-devel  pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel libxml2-devel curl-devel  libicu libicu-devel libmcrypt libmcrypt-devel libmhash libmhash-devel
编译安装cmake# tar zxvf cmake-2.8.12.2.tar.gz  (解压安装包)
# cd cmake-2.8.12.2 (进入解压后安装包)
# ./configure   (configure下)
# make && make install  (make 下)
结束后,用 cmake -version 命查看是否安装成功啦。
2、安装mysql
试想一下,等mysql安装成功后,由哪个用户来启动mysql呢?以root吗,万一mysql被攻破了,root用户岂不是很不安全。从一本书中看到一句话:mysql服务器在unix下启动的两个要求是:1、以root以外的其它用户来启动。2、以固定的一个用户来启动mysql。所以,我们先要创建mysql用户跟用户组,且将安装目录的所属用户用户组也更改为mysql。
创建所需要的文件目录# mkdir -pv /usr/local/mysql/data (准备将mysql安装在这个目录下)
创建所需要用户与用户组# groupadd mysql (创建用mysql用户组)
# useradd -g mysql -s /sbin/nologin mysql     (创建mysql用户,且属于mysql用户组,shell为nologin)
# chown mysql.mysql /usr/local/mysql/data -r (将刚创建的安装目录的所属用户跟用户组更改为mysql)
# mkdir -pv /etc/mysql
# chown mysql.mysql /etc/mysql -r
安装目录,用户,用户组创建完完毕后,开始mysql的正式安装。# tar zxvf mysql-5.6.16.tar.gz (解压安装包)
# cd mysql-5.6.16   (进入安装包)
接下来进行cmake编译# cmake -dcmake_install_prefix=/usr/local/mysql-dmysql_datadir=/usr/local/mysql/data-ddefault_charset=utf8 -ddefault_collation=utf8_unicode_ci -dwith_readline=1 -dsysconfdir=/etc/mysql -dmysql_unix_addr=/etc/mysql/mysqld.sock -dwith_embedded_server=0 -denabled_local_infile=1  -dmysql_user=mysql -ddefault_collation=utf8_general_ci -dwith_myisam_storage_engine=1 -dwith_innobase_storage_engine=1 -dwith_debug=0     
# make && make install  (安装)
等待安装。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
安装完后,进行mysql的各种配置# cp support-files/my-default.cnf /etc/my.cnf  (将 mysql-5.6.16安装包里的my-default.cnf文件覆盖 /etc/my.cnf)
# cp support-files/mysql.server /etc/init.d/mysqld (将 mysql-5.6.16安装包里的mysql.server 复制到/etc/init.d/mysqld,mysql.server是启动脚本,用于以后启动mysql)
# chmod +x /etc/init.d/mysqld (增加mysqld文件的可执行权限)
# chkconfig --add mysqld
# chkconfig mysqld on (设置开机时自动启动)
配置/etc/my.cnf文件在[mysqld]中添加:
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
user = mysql
tmpdir = /tmp
保存退出
#初始化数据库
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#手动启动mysql
# /etc/init.d/mysqld start
添加环境变量# vi /etc/profile  (打开profile文件)
在里面添加:path=$path:/usr/local/mysql/bin  
保存退出
# source /etc/profile (重读profile文件)
进入mysql ,修改root密码# mysql -uroot    (这时的root还没有密码,直接回车就可进入)
mysql> set password = password(**********); (红色处为要设置的密码)
打完收工!
其它类似信息

推荐信息