ubuntu12.04 /centos 环境下源码编译安装mysql 5.7.14详细步骤 – 21运维
通知: .-...

ubuntu12.04 /centos 环境下源码编译安装mysql 5.7.14详细步骤

mysql 21运维 6601浏览 0评论

21运维原创,转载请注明出处。

1,安装前期工作。创建mysql用户以及数据存放目录

groupadd mysql
useradd -r mysql -g mysql -s /bin/false 
mkdir -p  /data/mysql/
chown  -R mysql.mysql  /data/mysql/

安装依赖包:

apt-get install gcc-c++  ncurses-devel  tcp_wrappers-devel bison-devel bison build-essential libncurses5-dev cmake openssl*  -y

2,前期工作做完,,准备下载源码包编译安装和初始化。
到mysql官网http://dev.mysql.com/downloads/mysql/5.7.html下载通用源码安装包mysql 5.7.14,这里我们直接下载带有boost库的安装包,避免单独去下载boost耽误时间,之前没有从这里下载对应boost安装包,踩了一个巨大的坑。哎,血的教训!



下载完以后到服务器进行解压编译安装,命令如下:

cd /usr/local/src
tar  zxvf  mysql-boost-5.7.14.tar.gz
cd mysql-5.7.14/

编译参数如下

/usr/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=system \
-DWITH_DEBUG=0 -DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=./boost \
-DWITH_EMBEDDED_SERVER=OFF

执行完以后 make && make install

安装完成,设置环境变量,编辑/etc/profile

export PATH=/usr/local/mysql/bin:$PATH

设置以后需要source /etc/profile

数据库初始化:
将提前设置好的my.cnf放到/etc/my.cnf ,后续需要加载这个配置文件,最好提前优化好。

cd /usr/local/mysql
mysqld --initialize --user=mysql   #这一步会生成一个root密码
mysql_ssl_rsa_setup
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
可以直接启动了:/etc/init.d/mysqld  start

后台运行以后单独开一个窗口登录mysql并初始化mysql的root密码:

mysql -u root -p
SET PASSWORD = PASSWORD('123456');

所有操作步骤完成。测试是否都成功可以如下操作:

 /etc/init.d/mysqld restart
mysql -u root -p12345

如果登录没问题则一切正常。

注:
1,如果root密码忘记,那么可以通过执行:

 mysqld_safe --skip-grant-tables &;

这样再登录就可以空密码登录了。执行

update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

可以修改root的密码。修改以后/etc/init.d/mysqld restart
注:如果登陆进去以后提示需要修改root密码,可以执行:

SET PASSWORD = PASSWORD('123456');

2, 如果能apt-get就apt-get,需要注意备份/etc/mysql/my.cnf 不然以后重装会覆盖。

转载请注明:21运维 » ubuntu12.04 /centos 环境下源码编译安装mysql 5.7.14详细步骤

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 根据朋友反馈编译5.7经常报错比如: make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc_setops.cc.o] Error 1 这种一般是内存不够用,可以设置swap即可。
    21运维2016-12-21 10:05 回复
  2. 对于Mysql 5.7.6以后的5.7系列版本,Mysql使用mysqld --initialize或mysqld --initialize-insecure命令来初始化数据库,后者可以不生成随机密码。但是安装Mysql时默认使用的是前一个命令,这个命令也会生成一个随机密码。改密码保存在了Mysql的日志文件中。
    21运维2016-08-26 15:10 回复
  3. 咨询下大神 centos7 运行PHP真的兼容性很差吗 为什么我老是出问题
    伪极客2016-08-05 20:39 回复
    • centos是专业服务器系统,运行php没问题的,至于你那里出问题要看具体报错了。
      root2016-08-06 09:42 回复