Debian7.8源码安装MySQL5.7

sudo apt-get install g++ gdb libncurses5-dev cmake make chkconfig libpcre+* zlib1g* libssl1.0.0 libssl-dev grep // 安装环境
sudo groupadd mysql //建立mysql组
sudo useradd -r -g mysql mysql //建立mysql用户并加入组
sudo mkdir /usr/local/mysql //建立mysql配置文件目录
sudo chown -R root:mysql /usr/local/mysql //更改属组和属主
sudo mkdir /usr/local/mysql/data //建立mysql数据库目录
sudo chown -R mysql:mysql /usr/local/mysql/data //更改属组和属主为mysql
sudo tar zxf mysql-boost-5.7.12.tar.gz -C /usr/local/mysql/ //解压mysql软件包
cd /usr/local/mysql/mysql-5.7.12/ //切换目录
sudo \
cmake . \ //编译安装
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定mysql主目录
-DINSTALL_DATADIR=/usr/local/mysql/data \ //指定mysql数据库目录
-DDEFAULT_CHARSET=utf8 \ //指定字符集
-DDEFAULT_COLLATION=utf8_general_ci \ //校验字符
-DEXTRA_CHARSETS=all \ //安装全部扩展字符集
-DENABLED_LOCAL_INFILE=1 \ //容许从本地导入数据
-DDOWNLOAD_BOOST=1 \ //开启boost PS:Debian7之后都须要指点boost文件
-DWITH_BOOST=/usr/local/mysql/mysql-5.7.12/boost/boost_1_59_0 \ //指定boost所在路径
&& make && make installmysql

sudo ./mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data //初始化
ls ../data/
data文件
./mysqld_safe –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data //开启mysql服务linux

netstat -anpt | grep mysql //查看MySQL是否正常启动
sudo ps -e | grep mysql //查看MySQL是否正常启动
sudo ps -aux | grep mysql //查看MySQL是否正常启动
查看MySQL是否正常启动
sudo ln -s /usr/local/mysql/bin/* /usr/local/bin/ //建立软链接
sudo ln -s /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf //建立软链接
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //复制配置文件
sudo chkconfig –add mysqld //添加mysql进入系统服务且在全部运行级别中都开启
sudo service mysqld restart //从新启动服务
netstat -anpt | grep mysqld
PS:常见的几种报错状况
● 提示Mysql服务器没法找到PID文件
丢失pid
● 1.多是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 而后从新启动mysqld!
● 2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,若是有使用“kill -9 进程号”杀死,而后从新启动mysqld!
● 3.多是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,若是存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186
● 4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
● 5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,若是有就当即注释掉吧。
● 6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql全部者及权限
● 7.selinux惹的祸,若是是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled后存盘退出重启机器试试。
sudo vim /etc/my.cnf //破解密码
修改 /etc/my.cnf,在最后添加一行
skip-grant-tables=1web

sudo service restart mysql
sudo mysql -u root
update user set authentication_string = password(‘123’), password_expired = ‘N’, password_last_changed = now() where user = ‘root’;
退出 mysql,编辑 /etc/my.cnf 文件,删除或注销skip-grant-tables=1 的内容
重启 mysqld 服务,再用新密码登陆便可sql