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)
本文来源:http://myzitong.com/article/gihijj.html