Centos7编译安装mysql5.7.18

时间:2022-05-20 10:26:05

MySQL 5.7 主要特性:原生支持 Systemd更好的性能:

对于多核 CPU、固态硬盘、锁有着更好的优化更好的 InnoDB 存储引擎更为健壮的复制功能:

复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL 数据库。

注:mysql-5.6.3 已经支持了多线程的主从复制

新增 sys 库:以后这会是 DBA 访问最频繁的库

环境:Centos7.2

编译安装mysql5.7所需的软件包 :

bison-3.0.4.tar.gz

boost_1_59_0.tar.gz

cmake-3.5.2.tar.gz

mysql-5.7.18.tar.gz

ncurses-5.9.tar.gz

一、准备工作

1.   安装gcc编译器

[root@yankerp ~]#yum install gcc  gcc-c++ -y      我这边已经安装好了

Centos7编译安装mysql5.7.18

2.   在Centos7.2中默认安装了mysql的分支mariadb,所以卸载掉

[root@yankerp ~]# rpm -emariadb-libs –nodeps

Centos7编译安装mysql5.7.18

二、安装mysql

1.下载安装cmake编译器

下载cmake 3.5.tar.gz http://www.cmake.org/download/

1)编译安装(过程稍长

[root@yankerpsrc]# tar zxf cmake-3.5.2.tar.gz

[root@yankerpsrc]# cd cmake-3.5.2/

[root@yankerpcmake-3.5.2]# ./bootstrap && gmake && gmake install

Centos7编译安装mysql5.7.18

安装完成后查看cmake版本

[root@yankerp cmake-3.5.2]# cmake –version

Centos7编译安装mysql5.7.18

安装ncurses

[root@yankerp src]# tar zxfncurses-5.9.tar.gz

[root@yankerp src]# cd ncurses-5.9/

[root@yankerp ncurses-5.9]#./configure && make && make install

Centos7编译安装mysql5.7.18

安装bison

[root@yankerp src]# tar zxfbison-3.0.4.tar.gz

[root@yankerp src]# cd bison-3.0.4/

[root@yankerp bison-3.0.4]#./configure && make && make install

Centos7编译安装mysql5.7.18

安装boost

[root@yankerp src]# tar zxfboost_1_59_0.tar.gz

[root@yankerp src]# mv boost_1_59_0/usr/local/boost

2)创建mysql用户&用户组及目录

[root@yankerp src]# groupadd -rmysql && useradd -r -g mysql -s /bin/false -M mysql

[root@yankerp src]# mkdir/usr/local/mysql    //创建目录

[root@yankerp src]# mkdir/usr/local/mysql/data   //数据库目录

3)编译安装mysql

1.解压mysql源码包

[root@yankerp src]# tar zxfmysql-5.7.18.tar.gz

[root@yankerp src]# cd mysql-5.7.18/

[root@yankerp mysql-5.7.18]#cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc-DDEFAULT_CHARSET=UTF8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost

Centos7编译安装mysql5.7.18

确定了以上输入没有错误后make && make install(以下过程需要等待很久)

Centos7编译安装mysql5.7.18

安装结束后优化mysql执行路径

[root@yankerp ~]# echo "exportPATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

[root@yankerp ~]# source/etc/profile

设置权限并初始化mysql

[root@yankerp ~]# cd /usr/local/mysql/

[root@yankerp mysql]# chown -R mysql:mysql/usr/local/mysql/

[root@yankerp mysql]# mysqld --initialize --user=mysql--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

Centos7编译安装mysql5.7.18

以上方框生成一个随机密码(注意保存待会登陆时需要用的到)

创建mysql配置文件

[root@yankerp mysql]# vim/etc/my.cnf

Centos7编译安装mysql5.7.18

重新载入 systemd,扫描新的或有变动的单元

[root@yankerp mysql]# systemctldaemon-reload

配置mysql自动启动

[root@yankerp mysql]# cp/usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

在mysql.service把默认的pid文件指定到了/var/run/mysqld/目录因此需要手动建立该目录并把权限给mysql用户

[root@yankerp mysql]# mkdir /var/run/mysqld

[root@yankerp mysql]# chown -R mysql:mysql/var/run/mysqld/

最后启动mysql服务

[root@yankerp mysql]# systemctl start mysqld

[root@yankerp mysql]# netstat -anpt | grep mysqld

tcp6       0     0 :::3306                :::*                    LISTEN      99777/mysqld

登陆mysql数据库

Centos7编译安装mysql5.7.18

第一次登陆后查询数据时会报出以下错误,提示需要更改密码

Centos7编译安装mysql5.7.18

我们更改密码后再次进入数据库测试

[root@yankerp ~]# mysqladmin -uroot-p'JnoUT%&cg28p' password pwd123

Centos7编译安装mysql5.7.18

此时mysql5.7已经正式安装完成

Centos7编译安装mysql5.7.18