开发者社区> 问答> 正文

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

这个月买了阿里云主机,第一次用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时完成)

展开
收起
nnaa_good25 2015-07-20 20:43:49 9663 0
7 条回答
写回答
取消 提交回答
  • 恭喜你,文章入选《云周刊》啦,再接再厉噢~
    2015-07-31 16:03:55
    赞同 展开评论 打赏
  • 感谢分享
    2015-07-27 19:30:53
    赞同 展开评论 打赏
  • 一个程序员,欢迎骚扰!!!
    以前自己 安装过 linux下 各种问题 不过最终解决了。还是建议使用RDS  省去好多麻烦
    2015-07-27 19:29:32
    赞同 展开评论 打赏
  • Re介绍一下CentOS下MySQL数据库的安装与配置方法
    不错
    2015-07-27 17:50:58
    赞同 展开评论 打赏
  • 元芳,阿里云云栖论坛总版主,phpwind官方论坛管理员,社区论坛领域应用专家。长期活跃在社区论坛建站领域,对各类社区论坛程序颇有研究!乐于交友,热心助人,以帮助和服务站长朋友为宗旨,帮助数以千计的站长朋友顺利建站!
    您的帖子很精彩!希望很快能再分享您的下一帖!
    2015-07-20 21:39:52
    赞同 展开评论 打赏
  • 旺旺:nectar2。
    回 1楼(nnaa_good25) 的帖子
    楼主您好,

    感谢您的分享。

    管理mysql数据库,除了通过mysql客户端,还可以使用如phpMyadmin的Web面板喔。
    2015-07-20 21:02:53
    赞同 展开评论 打赏
  • 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数据库的安装与配置方法
    感谢评分
    2015-07-20 20:55:26
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载