介绍一下CentOS下MySQL数据库的安装与配置方法-问答-阿里云开发者社区-阿里云

开发者社区> nnaa_good25> 正文

介绍一下CentOS下MySQL数据库的安装与配置方法

2015-07-20 20:43:49 9028 7
这个月买了阿里云主机,第一次用CentOS系统,第一次自己配置使用环境,话说这个MySQL数据库是最让我伤脑筋了。我是个不折不扣的菜鸟,MySQL数据库的安装、配置、调试等占用了我不少时间,这期间我查阅了不少资料,也参考了前辈们的经验,最后这项工作终于被我完成了!把成就感先放一边,我第一件事情就是赶快做了工作笔记,以防以后再碰到这项工作。现在,我把这份笔记拿出来与大家分享,希望有同样问题的朋友,可以做份参考。






我们先说MySQL数据库的安装,具体步骤:


1、使用yum install mysql 安装mysql客户端
2、使用yum install mysql-server 安装mysql服务


3、使用yum install php-mysql 安装PHP访问MySQL数据库的工具“php-mysql”(此步也可在安装PHP时完成)
取消 提交回答
全部回答(7)
  • 洛欢
    2015-07-31 16:03:55
    恭喜你,文章入选《云周刊》啦,再接再厉噢~
    0 0
  • 看头像
    2015-07-27 19:30:53
    感谢分享
    0 0
  • 小柒2012
    2015-07-27 19:29:32
    以前自己 安装过 linux下 各种问题 不过最终解决了。还是建议使用RDS  省去好多麻烦
    0 0
  • 大德易科
    2015-07-27 17:50:58
    Re介绍一下CentOS下MySQL数据库的安装与配置方法
    不错
    0 0
  • 元芳
    2015-07-20 21:39:52
    您的帖子很精彩!希望很快能再分享您的下一帖!
    0 0
  • dongshan8
    2015-07-20 21:02:53
    回 1楼(nnaa_good25) 的帖子
    楼主您好,

    感谢您的分享。

    管理mysql数据库,除了通过mysql客户端,还可以使用如phpMyadmin的Web面板喔。
    0 0
  • nnaa_good25
    2015-07-20 20:55:26
    Re介绍一下CentOS下MySQL数据库的安装与配置方法

    MySQL数据库配置的具体步骤:


    1、编辑MySQL的配置文件,使用vi /etc/my.cnf 


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


    [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]
    default-character-set = utf8




    2、启动MySQL,并让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 ~]# /etc/rc.d/init.d/mysqld start  ← 启动MySQL服务


    Initializing MySQL database:         [ OK ]
    Starting MySQL:              [ OK ]




    3、为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('在这里填入root密码');  ← 设置root密码
    Query OK, 0 rows affected (0.01 sec)
    mysql> set password for root@'sample.centospub.com'=password('在这里填入root密码');  ← 设置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










    4、测试一下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
    Bye


    [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






    5、删除匿名用户。在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服务器
    Bye










    6、删除测试用数据库。在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服务器
    Bye

    -------------------------

    Re介绍一下CentOS下MySQL数据库的安装与配置方法
    经过上面的安装与配置,MySQL数据库应该可以用了,下面让我们来测一下:





    1、包括建立新用户,以及用对关系性数据库进行数据库操作的指令来试着建立数据库及数据表。这里,新建用户以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 '在这里定义密码';  ← 建立对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服务器
    Bye


    [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










    2、删除测试用过的遗留用户。(当然,如果是直接建立自己的数据库的,可以省略此步)


    [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










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


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




    OK了!经测试,我的网站lunfawang.com   MySQL数据库服务器运行正常!

    -------------------------

    Re介绍一下CentOS下MySQL数据库的安装与配置方法
    感谢评分
    0 0
滑动查看更多
相关问答

17

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 964952浏览量 回答数 17

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 222956浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 333823浏览量 回答数 8

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 643057浏览量 回答数 18

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 256851浏览量 回答数 38

294

回答

Linux Bash严重漏洞修复紧急通知(已全部给出最终修复方案)

qilu 2014-09-25 13:26:50 431593浏览量 回答数 294

21

回答

请教一下数据量有100万条左右要什么配置?

易网网络 2013-03-27 15:18:02 192320浏览量 回答数 21

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 302578浏览量 回答数 249

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 471316浏览量 回答数 24

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 203994浏览量 回答数 2
+关注
0
文章
8
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载