源码安装MySQL

①获取包

官网下载地址:https://dev.mysql.com/downloads/mysql/

②上传包至服务器并解压

③安装依赖

 yum install ncurses-devel cmake -y

④配置mysql

# vim cmake.sh

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql2 \
-DMYSQL_DATADIR=/usr/local/mysql2/data \
-DMYSQL_TCP_PORT=3307 \
-DMYSQL_UNIX_ADDR=/tmp/mysql31.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci

选项说明:

选项描述
DCMAKE_INSTALL_PREFIX安装路径
DMYSQL_DATADIR数据目录
DMYSQL_TCP_PORT端口
DMYSQL_UNIX_ADDR设置监听套接字路径,这必须是一个绝对路径名。
默认为/tmp/mysql.sock
DDEFAULT_CHARSET设置服务器的字符集

添加执行权限并运行该文件

chmod +x cmake.sh
 ./cmake.sh

⑤编译并安装

make && make install

⑥创建mysql系统用户

useradd -r -s /sbin/nologin mysql

⑦修改软件目录/usr/local/mysql2权限

chown -R mysql.mysql /usr/local/mysql2

⑧进行数据库初始化

卸载mariadb-libs

该数据库为MySQL分支数据库,为CentOS7默认安装数据库,所有我们要把他卸载掉,否则会影响我们新装mysql数据库的初始化

yum remove mariadb-libs 

初始化

#1.进入安装目录
cd /usr/local/mysql2
#2.执行脚本
scripts/mysql_install_db --user=mysql

初始化完成后会在data/生成对应数据和my.cnf配置文件

⑨启动服务

为了启动方便使用,所以将support-files/mysql.server拷贝到/etc/init.d/

cp support-files/mysql.server /etc/init.d/mysql2

启动

service mysql2 start

默认错误日志文件位置: /usr/local/mysql2/data/主机名.err

⑨测试

为了使用方便使用,所以将mysqlbin 目录添加到环境变量中

# vim /etc/profile 在最后添加如下内容

export PATH=$PATH:/usr/local/mysql2/bin

使配置文件生效:# source /etc/profile

测试

mysql2 -uroot -p

注意:如果在同一台服务器中,安装了多个MySQL软件,则使用mysql客户端连接时,要通过选项-S,指定连接的套接字文件。

mysql2 -S /tmp/mysql31.sock -uroot -p
Last modification:July 8th, 2019 at 04:49 pm