MySQL
一、下载源码和安装编译工具
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.32.tar.gz
[root@centos opt]# yum -y install ncurses ncurses-devel bison cmake make gcc gcc-c++
二、建立数据库启动用户
[root@centos opt]# useradd -M -s /sbin/nologin mysql
三、解压源码
[root@centos opt]# tar -xvf mysql-boost-5.7.32.tar.gz && cd mysql-5.7.32
四、编译安装
检测:
[root@centos mysql-5.7.31]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //定义安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //连接数据库socket路径
-DSYSCONFDIR=/etc \ //指定初始化参数文件目录(my.cnf)
-DSYSTEMD_PID_DIR=/usr/local/mysql \ //mysql的PID文件的目录
-DDEFAULT_CHARSET=utf8 \ //指定默认使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //支持InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ //将存储引擎xxx静态编译到服务器中
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1 //启用安装systemd支持文件
编译参数可查看官网说明:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
(注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的
CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧)
编译&&安装:
[root@centos mysql-5.7.31]# make -j 4 && make install -j 4
不指定的话默认就用一个核编译,速度太慢,-j指定4核一起编译
对mysql目录进行权限设置
[root@centos mysql-5.7.31]# chown -R mysql.mysql /usr/local/mysql/
六、编辑mysql主配置文件
[root@centos mysql-5.7.31]# vim /etc/my.cnf
(里面内容全部删除,替换成以下内容)
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
[root@centos mysql-5.7.31]# chown mysql:mysql /etc/my.cnf
七、设置环境变量
[root@centos ~]# echo "PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH" >> /etc/profile
把这两个路径添加到环境变量中,并放到profile文件中使之开机自运行,否则不生效
[root@centos ~]# echo "export PATH" >> /etc/profile
设为全局变量,使它使用环境更广
[root@centos ~]# source /etc/profile
使变量立即生效
八、初始化数据库
[root@centos ~]# cd /usr/local/mysql/bin
[root@centos ~]# ./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
若是初始化失败,将mysql目录下的data目录删除重新初始化
添加系统服务
[root@centos mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@centos mysql]# systemctl daemon-reload
九、启动mysql查看状态
[root@centos ~]# systemctl start mysqld
[root@centos ~]# systemctl enable mysqld
[root@centos ~]# netstat -tulnp | grep 3306
十、进入数据库
[root@centos bin]# mysqladmin -uroot -p password "abc123"
设置root初始密码,原始没有密码,直接回车就行
[root@centos bin]# mysql -uroot -p //回车输入密码进入mysql
能进入数据库说明配置成功,输入“\q”退出