Centos7编辑安装mysql(mysql-5.7)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7编辑安装mysql(mysql-5.7)相关的知识,希望对你有一定的参考价值。

数据库的必要性:使用数据库可以高效且条例分明的存储数据,使人们能够更加迅速、方便管理数据。

数据库的3个特点:

  • 可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。
  • 可以有效的保持数据信息的一致性,完整性,降低数据冗余。
  • 可以满足应用的共享和安全方面的要求。

实验环境

  • Centos7系统
  • ip地址192.168.92.128
  • 需要的软件包

实验部署

1.安装环境包

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

2.mysql5.7在安装时需要boost库,解压安装我开头提供的2个压缩包mysql-5.7.17.tar.gz和boost_1_59_0.tar.gz

tar zxvf mysql-5.7.17.tar.gz -C /opt/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
cd /usr/local/
mv boost_1_59_0 boost  

3.创建mysql用户

useradd -M -s /sbin/nologin mysql  #创建用户mysql,不创建家目录,不允许登陆系统

4.配置文件

cd /opt/mysql-5.7.17     #进入该目录下
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql    #指定mysql安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock          #连接文件位置
-DSYSCONFDIR=/etc       #指定配置文件目录    
-DSYSTEMD_PID_DIR=/usr/local/mysql           #进程文件目录
-DDEFAULT_CHARSET=utf8              #指定默认使用的字符集编码
-DDEFAULT_COLLATION=utf8_general_ci        #指定默认使用的字符集校对规则
-DWITH_INNOBASE_STORAGE_ENGINE=1         #存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1             #存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1             #存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1            #存储引擎
-DMYSQL_DATADIR=/usr/local/mysql/data           #数据库文件
-DWITH_BOOST=/usr/local/boost           #指定boost库的位置,mysql5.7必须添加该参数
-DWITH_SYSTEMD=1          #使系统支持mysql数据库
注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

5.编译安装,需要的时间较长,如果虚拟机做的实验可以把处理器调高。

make && make install

6.修改数据库的属主属组。

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

7.修改配置文件,添加以下文件

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
chown mysql:mysql /etc/my.cnf

8.修改配置文件的权限


chown mysql:mysql /etc/my.cnf

9.设置环境变量

echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile
echo ‘export PATH‘ >> /etc/profile
source /etc/profile         #使写入生效

10.初始化数据库

cd /usr/local/mysql/
bin/mysqld --initialize-insecure     #生成初始化密码(mysql5.7),实际上生成空密码
--user=mysql        #指定管理用户
--basedir=/usr/local/mysql            #指定工作目录
--datadir=/usr/local/mysql/data         #指定数据库文件目录

11.添加系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/    
systemctl daemon-reload      #重启daemon服务
systemctl start mysqld            #启动mysql服务
netstat -anpt | grep 3306         #查看端口
systemctl enable mysqld        #开机自启动

12.修改数据库密码

mysqladmin -u root -p password "abc123"     #-u指定root账号设置密码为abc123

登陆Mysql数据库

13.使用密码登陆

mysql -u root -p

输入密码abc123

此时你的Mysql数据库就安装完毕了。

14.如果要远程登陆的话

grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘abc123‘ with grant option;       #/第一个“*”代表所有数据库,第二“*”代表所有表,赋予root权限 “%”代表所有服务器终端,可设为IP地址 密码为“abc123”

15.关闭防火墙

systemctl stop firewalld.service
setenforce 0

此时你就可以远程登陆(navicat终端软件)Mysql数据库了

以上是关于Centos7编辑安装mysql(mysql-5.7)的主要内容,如果未能解决你的问题,请参考以下文章

Centos7 mysql Unit not found,Centos7 在线安装mysql 5.7

CentOS7 x86_64 环境 MySQL 5.7 安装教程

: mysql 5.6.34 编译安装 (centos7)

CentOS7.2最小安装的虚拟机上安装MySQL 5.6.32

CentOS7.2最小安装的虚拟机上安装MySQL 5.6.32

CentOS7.5安装MySQL5.7