centos7源码安装mysql5.6流程及总结
程序员文章站
2024-03-21 17:49:40
...
centos7源码安装mysql5.6流程及总结
折腾了一天,网上资料各种七零八落,大多还是重复的,因为系统和软件版本不同,很难找到完全匹配自身的。今天自己就总结归纳一下遇到的各种坑,为大家避雷做参考。
1,官网下载社区版本mysql.注意这里一定是要下载source code才是真正的源码版本。
2,用wget下载下来,解压,安装编译必须的工具。
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio libaio-devel perl-Data-Dumper openssl openssl-devel
安装成功后的截图
3.用cmake预编译出makefile文件
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/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=/var/lib/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
比较重要的几个配置是:第一行是主目录,第二行是数据目录,mysql.sock那一行是通信目录。
另外,关于cmake,make,make install的关系cmake与make的区别
cmake完成。
4.make && make install
编译安装完成后创建新用户和组
groupadd mysql
useradd -g mysql mysql -s /sbin/nologin
```bash
在这里插入代码片
进入安装路径,初始化脚本
初始化指定了基本路径和数据路径。
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
这段提示的意思是默认路径的/etc/my.cnf会覆盖/usr/local/mysql/my.cnf,解决方法要么用第二个把第一个文件覆盖,要么把第一个改名,要系统来找到第二个。
5.因为上一步已经指定了user为mysql,所以现在需要把Mysql文件的属主修改为Mysql
chown -R mysql:mysql /usr/local/mysql/
现在尝试从support-files里面启动Mysql
提示这个目录不存在,这个是编译时指定的通信文件,mkdir -p /var/lib/mysql
再次启动
还是不行,去箭头的日志去查看
没有权限,然后执行
chown -R mysql.mysql /var/lib/mysql/
再次启动,成功。
6.修改启动方式为systemctl控制
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
第二步很重要,只复制到init.d是没用的。关于chkconfig请看这里chkconfig
开启和关闭都没报错。
完结。