源码安装mysql

源码安装mysql

源码安装的mysql用起来比较舒服

下载源码包

这里提供一个路径:
https://downloads.mysql.com/archives/community/

  1. 注意 ,一定要选择没有任何后缀的,且只有几十M的;
    在这里插入图片描述

  2. 编译mysql需要boost 下载地址
    https://sourceforge.net/projects/boost/files/boost/1.59.0/

  3. 我的目录是这样的

[root@xingyao /home/admin]
$tree -L 2
.
├── boost
│   ├── boost_1_59_0
│   └── boost_1_59_0.tar.bz2
└── mysql
   ├── mysql-5.7.9
   └── mysql-5.7.9.tar.gz

安装MYSQL依赖包

Mysql需要使用cmake来进行编译,所以需要安装cmake,并且5.7版本cmake版本不低于2.8

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

添加mysql用户和用户组

 groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql

创建mysql数据库存放位置并修改目录权限


mkdir -p /data/mysql/{data,log}
chown -R mysql:mysql /data/mysql

注意:生产环境中mysql的data数据目录会单独放在一块硬盘中

预编译

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/home/admin/boost/boost_1_59_0

检查执行成功没

echo $?

编译&安装

编译

make

安装

make install

修改mysql目录权限

chown -R mysql:mysql /usr/local/mysql/

生成my.cnf配置文件

备份配置文件文件

 mv /etc/my.cnf{,.bak}

自行创建my.cnf配置文件

vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql #mysql安装目录
datadir=/data/mysql/data #mysql数据存放目录
port=3306 #mysql监听端口
socket=/usr/local/mysql/mysql.sock #mysql.sock文件存放目录
symbolic-links=0 #关闭mysql的符号链接
character-set-server=utf8 #指定mysql的字符集为utf8
log-error=/data/mysql/log/mysqld.log #指定mysql的错误日志存放路径
pid-file=/usr/local/mysql/mysqld.pid #mysql的pid文件存放目录

注意:所有my.cnf指定的目录mysql用户都要有读写权限。symbolic-links符号链接支持在别的目录下存放mysql的数据库文件,当我们mysql数据盘满了以后,可以启动symbolic-links=1,把mysql的数据放在别的目录下,然后链接到mysql的datadir目录下。

生成服务启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld #给脚本添加执行权限

添加mysqld开机自启动

chkconfig --add mysqld #把mysql添加到系统服务
chkconfig mysqld on #把mysql添加到开机自启动
chkconfig --list mysqld #查看mysql开机自启动状态

初始化数据库

如果无法初始化先启动mysql

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

启动服务

 /etc/init.d/mysqld start

添加path路径:

添加mysql命令路径到path环境变量中或者把mysql命令路径软连接到path环境变量里已经存在的目录,这样我们可以在系统任意位置直接执行mysql相关命令

vim /etc/profile ##添加下面2行 在文件的结尾
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:/usr/local/mysql/bin

使修改生效

 source /etc/profile

或者不执行上面的命令 软连接代替:

 ln -s /usr/local/mysql/bin/* /usr/local/bin/

修改mysql密码:

mysqladmin -u root password  123456

登陆mysql

mysql -uroot -p123456

Mysql的错误日志文件(error_log)

查看mysql错误日志的定义信息

mysql> show global variables like ‘%log_error%’;

其中
log_error定义为错误日志文件路径。
log_error_verbosity:
The MySQL error log has received some attention in MySQL 5.7, with a new setting called log_error_verbosity。There are three possible values, as documented in the manual:
Verbosity Value Message Types Logged
1 Errors only
2 Errors and warnings
3 Errors, warnings, and notes (default)
更改错误日志位置可以使用log-error来设置形式如下

vi /etc/my.cnf
log-error = /data/mysql/log/mysqld.log

查看mysql错误日志:可以使用tail或grep、cat等命令查看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxllstar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值