基于centos7搭建MySQL数据库

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

安装前准备:
一、centos7一个,准备系统映像,自行配置yum仓库;
二、下载安装所需软件包,:下载连接,提取码:9lig sql

1、安装配置MySQL数据库:数据库

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

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

一、为了不发生程序冲突、端口冲突等问题,能够先执行如下命令,进行删除系统自带的mysql程序:服务器

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

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

[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

三、因为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      #配置,编译安装

四、建立专门用来运行mysql服务的用户,此用户不须要直接登陆到系统:centos7

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

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

[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          #编译并安装

上述各个配置项中的含义以下:

基于centos7搭建MySQL数据库

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

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

七、创建配置文件:

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/下

八、初始化数据库(若数据库初始化时配置错误的话,将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

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

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

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

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系统服务:

基于centos7搭建MySQL数据库

上面的配置文件纯手打,编写完之后,保存退出后,便可使用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

基于centos7搭建MySQL数据库

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

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

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

十一、启动服务并登陆到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命令工具。

2、数据库用户受权及简单操做(增删改查):

一、授予权限:

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

使用grant语句,须要注意如下几点:

基于centos7搭建MySQL数据库

grant用法示例:

mysql> grant select on test.* to 'zhangsan'@'localhost' identified by '123456' ;     
#建立一个用户名为张三,密码为123456,用本地主机登陆,对test库中全部的表能够执行select语句。

二、查看zhangsan使用本地主机登陆的权限:

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

三、撤销权限:

mysql> revoke all on test.* from 'zhangsan'@'localhost';

须要注意的是,赋予权限时是怎么指定库和表的,撤销时必须以一样的方式指定,若赋予权限时使用test.user(test库中的user表),那么,撤销权限时若使用test.*将会报错。

四、查看当前服务器中的全部库:

mysql> show databases;

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

mysql> use mysql;                     #切换至mysql库

mysql> show tables;              #查看库中的全部表

六、查看表的结构:

mysql> use mysql;                        #切换至mysql库

mysql> describe user;            #查看表的结构

七、建立新的库:

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

八、建立新的表:

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));
#新建表名为员工信息。包含的列有姓名、年龄、工号等,并将工号设置为主键。

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

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

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

mysql> select * from yuangonxinxi;

十一、修改数据记录:

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

十二、删除数据记录:

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

1三、删除刚刚建立的数据表:

mysql>  drop table test2.yuangongxinxi;

1四、、删除刚才建立的库:

mysql> drop database test2;
相关文章
相关标签/搜索