千家信息网

基于centos7搭建MySQL数据库

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,本文包括mysql服务的安装配置,和简单的使用,还包括了对mysql用户账号的授权管理,前部分为安装,后面一半为用户授权管理及简单使用(增删改查):安装前准备:1、centos7一个,准备系统映像,自
千家信息网最后更新 2024年11月22日基于centos7搭建MySQL数据库

本文包括mysql服务的安装配置,和简单的使用,还包括了对mysql用户账号的授权管理,前部分为安装,后面一半为用户授权管理及简单使用(增删改查):

安装前准备:
1、centos7一个,准备系统映像,自行配置yum仓库;
2、下载安装所需软件包,链接: https://pan.baidu.com/s/13YAoybOtX55XKGQIzIxsIA
一、安装配置MySQL数据库:

为了确保MySQL数据库功能的完整性、可定制性,我采用了源代码编译安装的方式安装MySQL数据库系统,MySQL5.X系列版本的使用最为广泛,该版本的稳定性、兼容性都不错,下载源码包的官方站点为 https://www.mysql.com 。

现在MySQL已经被甲骨文公司收购了,而且甲骨文公司有意将MySQL发展为一个收费的产品,所以Linux为了避免以后的版权问题,就将MySQL数据库改成了MariaDB,MariaDB和MySQL在功能和使用上,并没有太大的区别,不过呢,大多数认为MySQL源码安装比使用Linux系统盘中的MariaDB要好一些,所以,还是使用源码安装吧,起码现在还是免费的。

1、为了避免发生程序冲突、端口冲突等问题,可以先执行以下命令,进行删除系统自带的mysql程序:

[root@localhost ~]# yum -y erase mysql

2、挂载centos系统盘,安装ncurses-devel包:

[root@localhost ~]# mount /dev/cdrom /media[root@localhost ~]# cd /media/Packages/[root@localhost Packages]# rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm 

3、由于mysql 5.x系列版本需要cmake编译安装,所以继续安装cmake包:

[root@localhost media]# tar zxf cmake-2.8.6.tar.gz -C /tmp                 #解包[root@localhost media]# cd /tmp/cmake-2.8.6/[root@localhost cmake-2.8.6]# ./configure && gmake && gmake install      #配置,编译安装

4、创建专门用来运行mysql服务的用户,此用户不需要直接登录到系统:

[root@localhost cmake-2.8.6]# groupadd mysql[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql

5、将下载的mysql源码包解压,并进行配置,编译及安装(千万要注意大小写,不要打错配置项,就算错误也可以继续后续的安装,但是,最后服务是无法启动的,千万不要打错字母,千万不要打错字母,千万不要打错字母,重要的事情说三遍):

[root@localhost media]#tar zxf mysql-5.6.36.tar.gz -C /tmp              #解压至/tmp目录[root@localhost cmake-2.8.6]# cd /tmp/mysql-5.6.36             #切换至展开后的源码目录[root@localhost mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all[root@localhost mysql-5.6.36]# make && make install          #编译并安装

3、由于mysql 5.x系列版本需要cmake编译安装,所以继续安装cmake包:

6、对数据库目录进行权限设置:

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

7、建立配置文件:

centos 7系统下默认支持MariaDB数据库,因此系统默认的/etc/my.cnf配置文件中是MariaDB的配置文件,而在mysql的源码目录中提供了mysql数据库默认的样本配置文件,在启动mysql数据库之前,需要先将原有的my.cnf文件替换为mysql提供的配置文件内容。

[root@localhost mysql-5.6.36]# rm -rf /etc/my.cnf              #删除原有配置文件[root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf     #复制源码包中的配置文件到/etc/下

8、初始化数据库(若数据库初始化时配置错误的话,将mysql安装目录中的data目录删掉后重新初始化即可):

[root@localhost mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 

9、设置环境变量(为了方便在任何目录下使用mysql命令):

[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile[root@localhost mysql-5.6.36]# .  /etc/profile             #立即生效

10、添加系统服务(两种方法,看完这一块,再选择其中之一即可):

1)、如果希望添加mysqld系统服务,以便通过systemctl 进行管理,可以直接使用源码包中提供的服务脚本,如下:

[root@localhost mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh   #复制到安装目录中[root@localhost mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh         #赋予执行权限

2)、创建mysql系统服务的配置文件/usr/lib/systemd/system/mysqld.service,将其添加为mysqld系统服务:

上面的配置文件纯手打,编写完以后,保存退出后,即可使用systemctl工具来控制mysql数据库服务了。

方法二:

若嫌编写配置文件麻烦,可以换另一种方法:

当对/usr/local/mysql/bin/mysqld.sh 赋予执行权限后,继续以下操作:

[root@localhost mysql-5.6.36]# cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld
[root@localhost mysql-5.6.36]# vim /etc/init.d/mysqld

修改后,保存退出。继续执行如下命令:

[root@localhost mysql-5.6.36]# chkconfig --add mysqld            #添加为系统服务

以上便是两种添加系统服务的方法,二选一即可,只是方法二无法使用systemctl enable mysqld命令来设置开机自动启动。

11、启动服务并登录到mysql服务器:

[root@localhost mysql-5.6.36]# systemctl start mysqld                #启动服务[root@localhost mysql-5.6.36]# systemctl status mysqld             #查看服务状态是否正常[root@localhost mysql-5.6.36]# mysql -u root              #使用root用户登录到mysql数据库

需要注意的是,此root账号与系统root账号没有半毛钱关系,只是凑巧mysql的管理员账号也是root。初次安装没有密码。可以使用下面命令来进行配置密码:

[root@localhost /]# mysqladmin -u root password                #为用户root设置密码New password:                 #输入密码Confirm new password:              #再次确认

如果用户有密码,想要对密码进行更改,那么,要使用如下命令:

[root@localhost /]# mysqladmin -u root -p password            #更改密码Enter password:                                 #输入旧密码New password:              #输入新密码Confirm new password:                 #再次确认

在用户没有密码的情况下,使用以下命令来登录到mysql数据库:

[root@localhost mysql-5.6.36]# mysql -u root 

若用户有密码,则需要加 -p选项:

[root@localhost /]# mysql -u root -p

登录到mysql服务器后,即可执行SQL语句,每条mysql操作语句以分号";"结尾,若没有输入分号便按了回车键,则相当于换行。一切命令不区分大小写,使用status可以查看当前数据库服务的基本信息,使用exit可以退出mysql命令工具。
二、数据库用户授权及简单操作(增删改查):

1、授予权限:

grant  权限列表  on  库名.表名   to  用户名@来源地址  [ identified  by  '密码']

使用grant语句,需要注意以下几点:

grant用法示例:

mysql> grant select on test.* to 'zhangsan'@'localhost' identified by '123456' ;     #创建一个用户名为张三,密码为123456,用本地主机登录,对test库中所有的表可以执行select语句。

2、查看zhangsan使用本地主机登录的权限:

mysql> show grants for 'zhangsan'@'localhost';

3、撤销权限:

mysql> revoke all on test.* from 'zhangsan'@'localhost';需要注意的是,赋予权限时是怎么指定库和表的,撤销时必须以同样的方式指定,若赋予权限时使用test.user(test库中的user表),那么,撤销权限时若使用test.*将会报错。

4、查看当前服务器中的所有库:

mysql> show databases;

5、使用use语句切换库,并且查看库中的表:

mysql> use mysql;                     #切换至mysql库mysql> show tables;              #查看库中的所有表

6、查看表的结构:

mysql> use mysql;                        #切换至mysql库mysql> describe user;            #查看表的结构

7、创建新的库:

mysql> create database test2;                  #创建一个名为test2的库。

8、创建新的表:

mysql> create table 表名 (列名1 类型,列名2 类型,.... ,primary key (主键名));

示例,创建一个简单的员工信息表:

mysql> create table yuangongxinxi (xingming char(16) not null, xingbie char(4)), nianling int, gonghao int, primary key (gonghao));#新建表名为员工信息。包含的列有姓名、年龄、工号等,并将工号设置为主键。

9、向刚刚的表中插入一条员工信息:

mysql> insert into yuangonxinxi(xingming,xingbie,nianling,gonghao) values ('zhangsan','nan','25','100');

10、查询表中的数据(也可加where语句来指定查询特定的行,或使用列名而不用星号来查询特定的列):

mysql> select * from yuangonxinxi;

11、修改数据记录:

mysql> update yuangonxinxi set nianling='30' where xingming='zhangsan';              #修改zhagnsan的年龄为30

12、删除数据记录:

mysql> delete from yuangonxinxi where xingming='zhangsan';                      #删除zhangsan的数据记录

13、删除刚刚创建的数据表:

mysql>  drop table test2.yuangongxinxi;

14、、删除刚才创建的库:

mysql> drop database test2;

----感谢阅读~

数据 服务 配置 数据库 系统 密码 用户 文件 命令 权限 源码 目录 登录 语句 编译 方法 信息 版本 账号 切换 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 关于网络安全的创作作品 华为手机旧换新怎么倒数据库 家庭网络安全教育朱魏老师 丝路行网络技术有限公司 违反网络安全法的app 查找某行某列位置数据库 信息网络安全管控平台 方案 我的世界超宇宙服务器指令 戴尔r710服务器更改u盘启动 大连行业专业软件开发 国家网络安全宣传周主主题是 两个java服务器之间请求转发 支持修改的时序数据库 数据库原理及应用模拟题 延边节能软件开发费用 json测试服务器 创建一流网络安全学院 查询服务器上的日志文件 部队有网络安全技术兵吗 奉贤区智能化软件开发好处 远程登录邮件服务器端口 机械管理软件开发 网络安全事件应急预案怎么分级 plsql数据库地址 数据库谓词转换符号 实战项目软件开发过程分析 数据库表按小时分区 应届生软件开发职业规划 跟法律数据有关的数据库 小程序显示服务器数据
0