热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS下MySQL安装配置过程详解

1、CentOS下安装MySQL[root@sample~]#yum-yinstallmysql-serverlarr;安装MySQL然后,安装PHP访问MySQL数据库的工具ld

1、CentOS下安装MySQL [root@sample ~]# yum -y install mysql-server larr; 安装MySQL 然后,安装PHP访问MySQL数据库的工具ld

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; ← 更新表的信息,赋予新的值

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 ]


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
author-avatar
国芝翰娥264
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有