天天看点

源码编译安装mysql-5.7.14

tar -zxf msql-5.7.14.tar.gz  

yum -y install gcc gcc-c++ ncurses ncurses-devel cmake  

wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz  

groupadd mysql  

useradd -r -g mysql -s /bin/false mysql  

cmake . \  

-DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.14 \  

-DMYSQL_DATADIR=/application/mysql-5.7.14/data \  

-DDOWNLOAD_BOOST=1 \  

-DWITH_BOOST=/software/boost_1_59_0 \  

-DMYSQL_UNIX_ADDR=/application/mysql-5.7.14/tmp/mysql.sock \  

-DDEFAULT_CHARSET=utf8 \  

-DDEFAULT_COLLATION=utf8_general_ci \  

-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  

make  

make install  

[mysqld]  

datadir=/application/mysql/data  

socket=/application/mysql/tmp/mysql.sock  

user=mysql  

# Disabling symbolic-links is recommended to prevent assorted security risks  

symbolic-links=0  

character_set_server=utf8  

chown -R mysql:mysql mysql-5.7.14/  

mkdir data  

chown mysql:mysql data  

bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data  

bin/mysql_ssl_rsa_setup  

cp support-files/mysql.server /etc/init.d/mysqld    

修改 mysqld 文件里的 basedir datadir 属性    

chkconfig mysqld on # 设置开机自启动    

chkconfig --list | grep mysqld    

service mysqld start    

service mysqld restart    

service mysqld stop    

SET PASSWORD FOR 'root'@'localhost'=PASSWORD('newpassword');    

Starting MySQL... ERROR! The server quit without updating PID file (/application/mysql/Rong.pid).  

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist   

2.原因:在进行初始化数据库权限表的时候默认创建的权限表在默认目录/usr/local/mysql/var下面,而实际是在 /application/mysql/data

3.通过需改 /etc/my.cnf 下 --datadir参数来解决问题

本文转自 Mr_sheng 51CTO博客,原文链接:http://blog.51cto.com/sf1314/2057634