温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Centos7编辑安装mysql(mysql-5.7)

发布时间:2020-08-11 21:52:30 来源:网络 阅读:989 作者:李杨的博客 栏目:MySQL数据库
数据库的必要性:使用数据库可以高效且条例分明的存储数据,使人们能够更加迅速、方便管理数据。
数据库的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数据库了

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI