`
zzc1684
  • 浏览: 1223028 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

CentOS下MySQL安装配置过程详解

阅读更多

1、CentOS下安装MySQL

[root@sample ~]# yum -y install mysql-server ← 安装MySQL

然后,安装PHP访问MySQL数据库的工具“php-mysql”

[root@sample ~]# yum -y install php-mysql ← 安装php-mysql

 

2、配置MySQL

[root@sample ~]# vi /etc/my.cnf ← 编辑MySQL的配置文件

#定位到这里

[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# Default to using old password format for compatibility with mysql 3.x

# clients (those using the mysqlclient10 compatibility package).

old_passwords=1 ← 找到这一行,在这一行的下面添加新的规则,让MySQL的默认编码 为UTF-8(假若找不到,就在本文件到底添加)

default-character-set = utf8 ← 添加这一行

启动MySQL服务,进入MySQL里面运行status查看是否已经全部都是支持了utf8,并让MySQL在系统重新启动后随系统自动启动。

[root@sample ~]# chkconfig mysqld on ← 设置MySQL服务随系统启动自启动

[root@sample ~]# chkconfig --list mysqld ← 确认MySQL自启动

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 如果2--5为on的状态就OK

[root@sample ~]# service mysqld start ← 启动MySQL服务

 

3、设置root用户密码及相关优化配置

MySQL在刚刚被安装的时候,它的root用户是没有被设置密码的,首先来设置MySQL的root密码。

[root@sample ~]# mysql -u root ← 用root用户登录MySQL服务器

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select user,host,password from mysql.user; ← 查看用户信息

+------+------------------------------+---------------+

| user | host | password |

+------+------------------------------+---------------+

| root | localhost | | ← root密码为空

| root | sample.centospub.com | | ← root密码为空

| | sample.centospub.com | |

| | localhost | |

+------+------------------------------+---------------+

4 rows in set (0.00 sec)

mysql> set password for root@localhost=password('yournewpwd'); ← 设置root密码

Query OK, 0 rows affected (0.01 sec)

mysql> set password for root@'sample.centospub.com'=password('newID'); ← 设置root密码

Query OK, 0 rows affected (0.01 sec)

mysql> select user,host,password from mysql.user; ← 查看用户信息

+------+--------------------------------+--------------------------+

| user | host | password |

+------+--------------------------------+--------------------------+

| root | localhost | 19b68057189b027f | ← root密码被设置,已经加密

| root | sample.centospub.com | 19b68057189b027f | ← root密码被设置,已经加密

| | sample.centospub.com | |

| | localhost | |

+------+--------------------------------+--------------------------+

4 rows in set (0.01 sec)

mysql> exit ← 退出MySQL服务器

Bye

然后,测试一下root密码有没有生效。

[root@sample ~]# mysql -u root ← 通过空密码用root登录

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ← 出现此错误信息说明密码设置成功

[root@localhost ~] # mysql -u root -h sample.centospub.com ← 通过空密码用root登录

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ← 出现此错误信息说明密码设置成功

[root@sample ~]# mysql -u root -p ← 通过密码用root登录

Enter password: ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g. ← 确认用密码能够成功登录

Your MySQL connection id is 5 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit

[root@sample ~]# mysql -u root -h sample.centospub.com -p ← 通过密码用root登录

Enter password: ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g. ← 确认用密码能够成功登录

Your MySQL connection id is 6 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit ← 退出MySQL服务器

Bye

 

删除匿名用户

在MySQL刚刚被安装后,存在用户名、密码为空的用户。这使得数据库服务器有无需密码被登录的可能性,为消除隐患,将匿名用户删除。

[root@sample ~]# mysql -u root -p ← 通过密码用root登录

Enter password: ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 7 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select user,host from mysql.user; ← 查看用户信息

+------+----------------------------+

| user | host |

+------+----------------------------+

| | localhost |

| | 127.0.0.1 |

| root | localhost |

| | sample.centospub.com |

| root | sample.centospub.com |

+------+----------------------------+

4 rows in set (0.02 sec)

mysql> delete from mysql.user where user=''; ← 删除匿名用户

Query OK, 2 rows affected (0.17 sec)

mysql> select user,host from mysql.user; ← 查看用户信息

+------+----------------------------+

| user | host |

+------+----------------------------+

| root | localhost |

| root | sample.centospub.com |

+------+----------------------------+

2 rows in set (0.00 sec)

mysql> exit ← 退出MySQL服务器

 

删除测试用数据库

在MySQL被安装后,存在名为test的空数据库,将它删除。这里要注意的是,系统默认的还有一个名为mysql的数据库,它用于系统管理,所以请不要删除。

[root@sample ~]# mysql -u root -p ← 通过密码用root登录

Enter password: ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases; ← 查看系统已存在的数据库

+-------------+

| Database |

+-------------+

| mysql |

| test |

+------------+

2 rows in set (0.02 sec)

mysql> drop database test; ← 删除名为test的空数据库

Query OK, 0 rows affected (0.07 sec)

mysql> show databases; ← 查看系统已存在的数据库

+-------------+

| Database |

+-------------+

| mysql | ← 确认名为test的数据库被删除,已不存在

+-------------+

1 row in set (0.00 sec)

mysql> exit ← 退出MySQL服务器

 

4、测试MySQL

下面对MySQL进行测试。包括建立新用户,以及用对关系性数据库进行数据库操作的指令来试着建立数据库及数据表,这里,新建用户以centospub为例。

[root@sample ~]# mysql -u root -p ← 通过密码用root登录

Enter password: ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 9 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> grant all privileges on test.* to centospub@localhost identified by 'newpwd’; ← 建立对test数据库有完全操作权限的名为centospub的用户

Query OK, 0 rows affected (0.03 sec)

mysql> select user from mysql.user where user='centospub'; ← 确认centospub用户的存在与否

+---------+

| user |

+---------+

| centospub | ← 确认centospub已经被建立

+---------+

1 row in set (0.01 sec)

mysql> exit ← 退出MySQL服务器

[root@sample ~]# mysql -u centospub -p ← 用新建立的centospub用户登录MySQL服务器

Enter password: ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 10 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database test; ← 建立名为test的数据库

Query OK, 1 row affected (0.00 sec)

mysql> show databases; ← 查看系统已存在的数据库

+-------------+

| Database |

+-------------+

| test |

+-------------+

1 row in set (0.00 sec)

mysql> use test; ← 连接到数据库

Database changed

mysql> create table test(num int, name varchar(50)); ← 在数据库中建立表

Query OK, 0 rows affected (0.03 sec)

mysql> show tables; ← 查看数据库中已���在的表

+-------------------+

| Tables_in_test |

+-------------------+

| test |

+-------------------+

1 row in set (0.01 sec)

mysql> insert into test values(1,'Hello World!'); ← 插入一个值到表中

Query OK, 1 row affected (0.02 sec)

mysql> select * from test; ← 查看数据库中的表的信息

+------+-------------------+

| num | name |

+------+-------------------+

| 1 | Hello World! |

+------+-------------------+

1 row in set (0.00 sec)

mysql> update test set name='Hello Everyone!'; ← 更新表的信息,赋予新的值

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from test; ← 查看数据库中的表的信息

+------+----------------------+

| num | name |

+------+----------------------+

| 1 | Hello Everyone! | ← 确认被更新到新的值

+------+----------------------+

1 row in set (0.01 sec)

mysql> delete from test where num=1; ← 删除表内的值

Query OK, 1 row affected (0.00 sec)

mysql> select * from test; ← 确认删除结果

Empty set (0.01 sec)

mysql> drop table test; ← 删除表

Query OK, 0 rows affected (0.01 sec)

mysql> show tables; ← 查看表信息

Empty set (0.00 sec) ← 确认表已被删除

mysql> drop database test; ← 删除名为test的数据库

Query OK, 0 rows affected (0.01 sec)

mysql> show databases; ← 查看已存在的数据库

Empty set (0.01 sec) ← 确认test数据库已被删除(这里非root用户的关系,看不到名为mysql的数据库)

mysql> exit ← 退出MySQL服务器

Bye

 

然后,删除测试用过的遗留用户。

[root@sample ~]# mysql -u root -p ← 通过密码用root登录

Enter password: ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 12 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> revoke all privileges on *.* from centospub@localhost; ← 取消centospub用户对数据库的操作权限

Query OK, 0 rows affected (0.00 sec)

mysql> delete from mysql.user where user='centospub' and host='localhost'; ← 删除centospub用户

Query OK, 1 row affected (0.01 sec)

mysql> select user from mysql.user where user='centospub'; ← 查找用户centospub,确认已删除与否

Empty set (0.01 sec) ← 确认centospub用户已不存在

mysql> flush privileges; ← 刷新,使以上操作生效

Query OK, 0 rows affected (0.01 sec)

mysql> exit

Bye

 

5、最后,重新启动一次HTTP服务,让php-mysql反映到HTTP服务中。

[root@sample ~]# /etc/rc.d/init.d/httpd restart ← 重新启动HTTP服务

Stopping httpd: [ OK ]

Starting httpd: [ OK ]

更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

分享到:
评论

相关推荐

    Centos mysql 安装配置详解

    接下来是MySQL的安装过程。这里以MySQL 5.1.30为例,首先解压缩下载的源码包,如`tar -zvxf /opt/mysql-5.1.30.tar.gz`。然后,创建一个安装目录,如`mkdir -p /opt/mysql`,并进入目录。运行`./configure`指定相应...

    CentOS安装MySQL5.7

    本文详细介绍了在CentOS环境下安装MySQL 5.7的过程,包括创建MySQL用户、安装MySQL软件包、初始化MySQL、修改配置文件、启动服务、管理用户与权限等多个步骤。通过这些步骤,您可以顺利地在CentOS上部署并运行MySQL...

    CentOS安装MySQL 5.5

    ### CentOS安装MySQL 5.5知识点详解 ...综上所述,本文档详细介绍了如何在CentOS 5.5 x86_64环境下安装MySQL 5.5数据库系统的全过程,包括环境准备、安装、配置、安全设置及服务管理等方面的知识点。

    CentOs7下mysql5.7的下载安装以及主从同步、双主多从配置详情

    CentOs7 下 Mysql 5.7 的下载安装和主从同步、双主多从配置详解 CentOs 7 是一个流行的 Linux 操作系统,而 Mysql 5.7 是一个广泛使用的关系型数据库管理系统。本文将详细介绍如何在 CentOs 7 下下载安装 Mysql 5.7...

    mysql 5.7 配置详解

    - `my.cnf`是MySQL服务器的主要配置文件,位于系统的特定目录下(如Linux的/etc/my.cnf或Windows的my.ini)。 - 主要配置区分为三部分:`[client]`, `[mysqld_safe]` 和 `[mysqld]`。`[client]` 用于客户端连接...

    CentOS 7.0系统下安装配置mariaDB步骤详解

    在CentOS 7.0系统上安装和配置MariaDB是一项基础且重要的任务,对于运行Web应用和其他需要数据库支持的服务至关重要。 首先,安装MariaDB需要使用Yum包管理器。在命令行中,输入以下命令来添加MariaDB的官方仓库: ...

    CentOS Apache配置详解

    CentOS Apache 配置详解 Apache 是一个流行的网页服务器软件,CentOS 也是一个流行的 Linux 发行版。在本文中,我们将详细介绍如何在 CentOS 上配置 Apache,以便实现网页服务器的功能。 一、 Apache 的安装和...

    CentOS MySQL启动和关闭命令

    ### CentOS下MySQL的启动与关闭命令详解 在Linux系统中,特别是CentOS发行版中,MySQL作为一款广泛使用的开源数据库管理系统,在服务器应用中扮演着重要的角色。本文将详细介绍CentOS环境下MySQL服务的启动与关闭...

    centos rpm方式安装mysql教程(非常详细)

    ### CentOS RPM方式安装MySQL教程详解 #### 一、前言 在Linux环境下,尤其是CentOS系统上部署MySQL数据库是一项常见的任务。本教程旨在提供一个全面的指南,介绍如何通过RPM包的方式在CentOS上安装MySQL,并覆盖从...

    CentOS7下mysql5.7.10的安装步骤

    以上就是在 CentOS 7 系统下安装 MySQL 5.7.10 的详细步骤。需要注意的是,在实际操作过程中可能会遇到各种依赖问题或配置问题,这时就需要仔细检查并解决问题。通过上述步骤,可以顺利完成 MySQL 5.7.10 在 CentOS ...

    centos7安装mysql数据库

    在本篇文章中,我们将详细介绍如何在 CentOS 7 中安装 MySQL 数据库,包括解决常见的 bug 和安装过程中可能遇到的问题。 为什么选择 MySQL MySQL 是一个开源的关系型数据库管理系统,广泛应用于 Web 应用程序中。...

    CentOS系统MySQL安装教程

    ### CentOS系统MySQL安装教程知识点详解 #### 一、前言 在现代的互联网应用开发过程中,MySQL数据库因其...在实际操作过程中,还需注意系统版本的差异以及不同版本MySQL之间的兼容性问题,以确保安装过程顺利进行。

    centos_mysql安装

    ### CentOS系统下MySQL安装知识点详解 #### 一、概述与目标设定 - **文档内容**:本文档旨在指导用户如何在CentOS系统上从源代码编译、安装和配置MySQL数据库。 - **目标**: - **用户及其目录**:在安装过程中,...

    centos7搭建mysql集群

    ### CentOS 7 搭建 MySQL 集群详解 #### 一、概述 随着业务规模的扩大,单一数据库服务器往往难以满足高并发、大数据量的需求。为了提高系统的可用性和性能,采用 MySQL 集群成为一种常见的解决方案。本文将详细...

    centos下mysql5.7安装

    ### CentOS 下 MySQL 5.7 的安装与配置详解 #### 一、前言 MySQL 是一个广泛使用的开源关系型数据库管理系统,在 Linux 平台上尤其受到欢迎。本篇将详细介绍如何在 CentOS 系统上安装与配置 MySQL 5.7 版本。此版本...

Global site tag (gtag.js) - Google Analytics