关闭

Debian7.8源码安装MySQL5.7

标签: mysqldebian
687人阅读 评论(0) 收藏 举报
分类:

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 install

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服务

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=1

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 服务,再用新密码登录即可

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:821次
    • 积分:38
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档