centos 源码安装 mysql
安装选择的是 Source Code平台的
下载版本为 mysql-5.6.23.tar.gz
此版本要自己亲自编译,所以最好不过了
安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl
安装cmake,从http://www.cmake.org下载源码并编译安装
为了方便,把 cmake-NN.tar.gz复制到 /usr/local里
如下:
tar -xzvf cmake-NN.tar.gz cd cmake-NN ./bootstrap make && make install
编译安装,根据官网
设置MySQL用户和组
新增mysql用户组
groupadd mysql
新增mysql用户
useradd -r -g mysql mysql
解压 mysql压缩包,此时方法,我把压缩包放在 /usr/local里
tar zxvf mysql-VERSION.tar.gz cd mysql-VERSION
用cmake编译
cmake . make && make install
修改mysql目录所有者和组
cd /usr/local/mysql chown -R mysql . chgrp -R mysql .
初始化mysql数据库
scripts/mysql_install_db --user=mysql
修改mysql数据库文件目录
chown -R root . chown -R mysql data
设置安全
bin/mysqld_safe --user=mysql &
复制mysql服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
此时如果在etc中存在my.cnf,则直接覆盖就好了
复制mysql服务启动脚本及加入PATH路径
cp support-files/mysql.server /etc/init.d/mysqld
用vim打开
vim /etc/profile
添加如下内容:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH
保存退出,然后
source /etc/profile
启动mysql服务并加入开机自启动(可选这个步骤,以后可以自己启动的)
service mysqld start chkconfig --level 35 mysqld on
启动 mysql命令登陆:做个链接即可
ln -s /usr/local/mysql/bin/mysql /usr/bin
此时,可以登陆数据库
mysql -h localhost -u root -p
密码为空
然后可以修理那些用户名
如删除危险的,设置密码...
设置密码(123456)如下:
update user set Password=password(‘123456‘) where Host=‘localhost‘; 刷新权限: flush privileges;
可能会出现的错误: 问题: Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid). 解决: 修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录 问题: ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2) 解决: 新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。 ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock /usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock MySQL问题解决:-bash:mysql:command not found 因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时, 系统在/usr/bin下面查此命令,所以找不到了 解决办法是: ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可 后记: 如果用的版本是 generic binary的话,要注意cpu的型号,根据手册就可以安装了,但是一般会有问题,不用cmake工具编译,应该是把 source code已经编译过了,所以会出现各种问题
时间: 2024-12-28 16:07:09