CentOS安装MySQL数据库

一、MySQL服务基础

MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。

MySQL项目在08年以前是由MySQL AB公司进行开发、发布和支持,之后历经Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营和维护。

二、MySQL的编译安装

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

1、准备工作

下载安装所需软件包:

[root@CentOS01 ~]# mount /dev/cdrom /mnt/   <!--挂载系统光盘-->
[root@centos01 ~]# groupadd mysql   <!--创建管理mysql的组-->
[root@centos01 ~]# useradd -M -s /sbin/nologin mysql -g mysql  <!--创建管理mySQL数据库的用户  -->
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*   <!--删除yum源里所有以Centos开头的文件-->
[root@centos01 ~]# yum -y install ncurses-devel   <!--安装mysql依赖程序ncurses-devel-->

2、安装cmake包

[root@centos01 ~]# umount /mnt/  <!--卸载光盘,切换Linux光盘-->
[root@centos01 ~]# mount /dev/cdrom /mnt/  <!--挂载Linux光盘-->
[root@centos01 ~]# mount /dev/cdrom /mnt/   <!--解压缩编译mysql工具cmake-->
[root@centos01 ~]# cd /usr/src/cmake-2.8.6/   <!--进入cmake目录-->
[root@centos01 cmake-2.8.6]# ./configure   <!--配置cmake-->
[root@centos01 cmake-2.8.6]# gmake && gmake install   <!--编译安装cmake程序-->

3、源码编译及安装

[root@centos01 ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C /usr/src/ <!--解压mysql程序-->
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/    <!--进入mysql目录-->
[root@centos01 mysql-5.5.22]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DWITH_EXTRA_CHARSETS=all 
-DSYSCONFDIR=/etc    <!--配置mysql程序-->
[root@centos01 mysql-5.5.22]# make && make install    <!--编译安装mysql-->

上述配置命令中,各选项的含义如下:

  • -DCMAKE_INSTALL_PREFIX:指定MyQSL数据库程序安装到某目录下,如目录/usr/local/mysql。
  • -DSYSCONFDIR:指定初始化参数文件目录。
  • -DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf-8。
  • -DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci是适用于utf-8字符集的通用规则。
  • -DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。

4、安装后其他调整

[root@centos01 ~]# chown -R mysql:mysql /usr/local/mysql/ <!--设置安装目录数据的所有者-->
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/  <!--进入mysql目录-->
[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf    <!--生成mysql服务配置文件-->
cp:是否覆盖"/etc/my.cnf"? y     <!--输入y-->
[root@centos01 ~]# vim /etc/profile    <!--设置环境变量-->
# /etc/profile      
PATH="$PATH:/usr/local/mysql/bin/"  
[root@centos01 ~]# source /etc/profile     <!--立即生效-->
[root@centos01 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld    <!--生成mysql系统服务控制文件-->
[root@centos01 mysql-5.5.22]# chmod +x /etc/init.d/mysqld   <!--设置服务的执行权限-->
[root@centos01 ~]# chkconfig --add mysqld  <!--添加系统服务-->
[root@centos01 ~]# chkconfig --level 35 mysqld on   <!--添加系统服务-->
[root@centos01 ~]#/usr/local/mysql/scripts/mysql_install_db 
--user=mysql --basedir=/usr/local/mysql 
--datadir=/usr/local/mysql/data        
<!--初始化管理数据的账户数据库位置和数据位置-->

5、启动MySQL服务

[root@centos01 ~]# systemctl enable mysqld  <!--设置开机自动启动-->
[root@centos01 ~]# systemctl start mysqld    <!--启动MySQL服务-->
[root@centos01 ~]# netstat -anptu | grep 3306    <!--监听mysql服务是否启动-->

三、访问MySQL数据库

MySQL数据库系统是一个典型的C/S(客户端/服务器)架构的应用。要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。

1、登录到MySQL服务器

经过安装后的初始化过程,MySQL数据库的默认管理员用户名为root,密码为空。
登录成功后将会进入提示符为“mysql>”的数据库操作环境,用户可以输入各种操作语句对数据库进行管理。每条MySQL操作语句以分号“;”表示结束,输入时可以不区分大小写。

[root@centos01 ~]# mysql -u root -p  <!--“-u”选项用于指定认证用户,
“-p”选项来进行密码校验,默认root密码为空,回车键即可登录-->
New password:        <!--Enter键-->
mysql> exit           <!--断开连接-->
[root@centos01 ~]# mysqladmin -u root password     <!--给数据库root用户设置密码-->
New password:                <!--输入密码-->
Confirm new password:    <!--确认密码-->
[root@centos01 ~]# mysql -u root -p    <!--root用户连接数据库-->
Enter password:          <!--输入密码-->
mysql> quit           <!--断开数据库连接-->

四、使用MySQL数据库

mysql> show databases;   <!--查看数据库-->
mysql> use myqsl;         <!--切换数据库mysql库中-->
mysql> show tables;        <!--查看mysql库中的表-->
mysql> describe user;      <!--查看表的结构-->
mysql> create database bdqn;         <!--新建数据库名字是bdqn-->
mysql> drop database bdqn;        <!--删除数据库bdqn-->
mysql> create table stuinfo(姓名 char(16),性别 char(10),年龄 char(10),联系电话 char(11),Email地址 char(20));     <!--创建表,表名字是stuinfo,第一列名字是姓名,第二列名字为性别,第三列名字为年龄,第四列名字为联系电话,第五列名字为Email地址-->
mysql> drop table stuinfo;      <!--删除表stuinfo-->
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Email地址) value ('李焱鑫',’男’,’20’,'18232013151',’[email protected]’);
!--stuinfo表插入数据-->
mysql> insert into stuinfo value ('吴大狼','男','19','11111111111','[email protected]');   
<!--第二种方式插入数据-->
mysql> insert into stuinfo value ('张航','男','15','22222222222','[email protected]');     
<!--第二种方式插入数据-->
mysql> insert into stuinfo value ('曾宪猴','男','8','33333333333','[email protected]');    
<!--第二种方式插入数据-->
mysql> select * from stuinfo;        <!--查看数据库表的所有数据-->
+-----------+--------+--------+--------------+-------------------+
| 姓名      | 性别   | 年龄   | 联系电话     | Email地址         |
+-----------+--------+--------+--------------+-------------------+
| 李焱鑫    | 男     | 20     | 18232013151  | [email protected] |
| 吴大狼    | 男     | 19     | 11111111111  | [email protected]   |
| 张航      | 男     | 15     | 22222222222  | [email protected]   |
| 曾宪猴    | 男     | 8      | 33333333333  | [email protected]   |
+-----------+--------+--------+--------------+-------------------+         
mysql> select * from stuinfo where 姓名='李焱鑫';   <!--使用条件查询满足条件显示 -->
+-----------+--------+--------+--------------+-------------------+
| 姓名      | 性别   | 年龄   | 联系电话     | Email地址         |
+-----------+--------+--------+--------------+-------------------+
| 李焱鑫    | 男     | 20     | 18232013151  | [email protected] |
+-----------+--------+--------+--------------+-------------------+
mysql> update stuinfo set 姓名='LiYanXin' where 姓名='李焱鑫';   <!--修改中文名字为英文-->
mysql> delete from stuinfo where 姓名='LiYanXin';   <!--删除LiYanXin记录-->

五、数据库用户授权

MySQL数据库的root用户账号拥有对所有库、表的全部权限,频繁使用root账号会给数据库服务器带来一定的安全风险。通常在实际工作中会建立一些低权限的用户,只负责一部分库、表的管理和维护操作,甚至可以对查询、修改、删除记录等各种操作做进一步的细化限制,从而将数据库的风险降至最低。

1、授予权限

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户,否则,GRANT语句用于修改用户信息。

语句格式如下:
GRANT 权限列表 ON 库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY ‘密码’ ]

使用GRANT语句时,需要注意的事项如下:

  • 权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,Select 允许查询;Insert 插入数据;Update 更新数据;Delete 删除数据;All 给所有权限,增加删改查;使用“all”表示所有权限,可授权执行任何操作。
  • 库名.表名:用于指定授权操作的库和表的名称,其中可以使用通配符“”。“auth.”表示授权操作的对象为auth库中的所有表。
  • 用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址。
  • IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分,则用户的密码将为空。
mysql> grant all on bdqn.* to 'rundb'@'localhost' identified by 'pwd@123';   <!--授权用户rundb对bdqn数据库中所有表有完全控制权限-->
mysql> show grants for 'rundb'@'localhost';   <!--查看授权的权限-->
mysql> revoke all on bdqn.stuinfo from 'rundb'@'localhost';  <!--取消授权-->

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/224072.html<

(0)
管理的头像管理
上一篇2025-04-16 06:28
下一篇 2025-04-16 06:30

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注