Mysql-5.7.9 基于gcc编译安装for linux
一、下载源码包
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.9.tar.gz
二、安装准备
1、先安装gcc编译器及相关依赖项
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2、先解压boost_1_59,再解压mysql的tar包,进入mysql解压后的文件中
tar -zxvf boost_1_59.tar.gz
tar -zxvf mysql-5.7.9.tar.gz
cd mysql-5.7.9
3、对mysql预编译检查
cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost_1_59_0 -DSYSCONFDIR=/home/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1
三、安装
1、编译和安装
make -j `grep processor /proc/cpuinfo | wc -l`
make install
2、查看是否安装成功
3、添加mysql用户
useradd -M -s /sbin/nologin mysql
4、初始化数据库
/opt/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
5、设置开机自启动
/bin/cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
6.启动数据库 在opt/mysql/bin目录运行下面命令
service mysqld start
7、先登录mysql后,在运行下面三条权限命令
/opt/mysql/bin/mysql –u root –p
//然后密码空
grant all privileges on *.* to root@'127.0.0.1' identified by 'root123' with grant option;
grant all privileges on *.* to root@'localhost' identified by 'root123' with grant option;
grant all privileges on *.* to root@'%' identified by 'root123' with grant option;//这条才是最重要的,客户端工具才能连接上mysql
flush privileges;
8、客户端测试连接
四、安装过程中问题解决方案
1、启动出现错误
错误现象
出现错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方案
1、打开/etc/my.cnf,看看里面配置的socket位置是什么目录, 例如:socket=/tmp/mysql.sock
2、看看/tmp/mysql.sock是否存在,不存在创建一个,若和/etc/my.cnf不一致,建立一个软连接
ln -s /home/mysql/data/my.sock /tmp/mysql.sock
3、看看/tmp/mysql.sock权限是否正确
2、启动报错
错误现象
[root@192 bin]# service mysqld start
Starting MySQL.The server quit without updating PID file (/[FAILED]mysql/192.168.150.83.pid).
解决方案
mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法
请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data // /usr/local换成mysql安装路径