Centos下MySQL的安装及配置教程-程序员宅基地

技术标签: 安装配置  mysql  数据结构及数据库  centos  数据库管理  

    注:参考地址:http://www.cr173.com/html/19814_1.html


    本文作者以初学者身份,和读者一起学习,最终达到通过阅读此文后,能灵活运用linux下mysql。环境Centos6.3


卸载掉原有mysql并安装和设置新mysql

因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库

[root@xiaoluo ~]# rpm -qa | grep mysql  // 这个命令就会查看该操作系统上是否已经安装了mysql数据库

有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

[root@xiaoluo ~]# rpm -e mysql  // 普通删除模式
[root@xiaoluo ~]# rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!



    http://www.cr173.com/html/19814_1.html


    

   yum list | grep mysql


   yum install -y mysql-server mysql mysql-deve

此时我们可以通过如下命令,查看刚安装好的mysql-server的版本

[root@xiaoluo ~]# rpm -qi mysql-server

        启动服务   :    service mysqld start


[root@xiaoluo ~]# service mysqld restart
停止 mysqld:                                             [确定]
正在启动 mysqld:                                          [确定]

我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过  chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动,如:

[root@xiaoluo ~]# chkconfig --list | grep mysqld
mysqld             0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭

我们发现mysqld服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了

[root@xiaoluo ~]# chkconfig mysqld on
[root@xiaoluo ~]# chkconfig --list | grep mysql

mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 :

/usr/bin/mysqladmin -u root password 'new-password'  // 为root账号设置密码

所以我们可以通过 该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,非Linux的root账号)

[root@xiaoluo ~]# mysqladmin -u root password 'root'  // 通过该命令给root账号设置密码为 root

此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了



/etc/my.cnf 这是mysql的主配置文件

[root@xiaoluo etc]# cat my.cnf 
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

/ver/lib/mysql   mysql数据库的数据库文件存放位置

我们的mysql数据库的数据库文件通常是存放在了/ver/lib/mysql这个目录下

[root@xiaoluo ~]# cd /var/lib/mysql/

[root@xiaoluo mysql]# ls -l -h

我们可以自己创建一个数据库,来验证一下该数据库文件的存放位置



创建一个我们自己的数据库:

mysql> create database xiaoluo;
Query OK, 1 row affected (0.00 sec)

[root@xiaoluo mysql]# ls -l
总用量 20492
-rw-rw----. 1 mysql mysql 10485760 4月   6 22:01 ibdata1
-rw-rw----. 1 mysql mysql  5242880 4月   6 22:01 ib_logfile0
-rw-rw----. 1 mysql mysql  5242880 4月   6 21:59 ib_logfile1
drwx------. 2 mysql mysql     4096 4月   6 21:59 mysql
srwxrwxrwx. 1 mysql mysql        0 4月   6 22:01 mysql.sock
drwx------. 2 mysql mysql     4096 4月   6 21:59 test
drwx------. 2 mysql mysql     4096 4月   6 22:15 xiaoluo  // 这个就是我们刚自己创建的xiaoluo数据库
[root@xiaoluo mysql]# cd xiaoluo/
[root@xiaoluo xiaoluo]# ls
db.opt

日志文件:

[root@xiaoluo ~]# cd /var/log
[root@xiaoluo log]# ls
amanda                cron           maillog-20130331   spice-vdagent.log
anaconda.ifcfg.log    cron-20130331  mcelog             spooler
anaconda.log          cups           messages           spooler-20130331
anaconda.program.log  dirsrv         messages-20130331  sssd
anaconda.storage.log  dmesg          mysqld.log         tallylog
anaconda.syslog       dmesg.old      ntpstats           tomcat6
anaconda.xlog         dracut.log     piranha            wpa_supplicant.log
anaconda.yum.log      gdm            pm-powersave.log   wtmp
audit                 httpd          ppp                Xorg.0.log
boot.log              ibacm.log      prelink            Xorg.0.log.old
btmp                  lastlog        sa                 Xorg.1.log
btmp-20130401         libvirt        samba              Xorg.2.log
cluster               luci           secure             Xorg.9.log
ConsoleKit            maillog        secure-20130331    yum.log

其中mysqld.log 这个文件就是我们存放我们跟mysql数据库进行操作而产生的一些日志信息,通过查看该日志文件,我们可以从中获得很多信息

因为我们的mysql数据库是可以通过网络访问的,并不是一个单机版数据库,其中使用的协议是 tcp/ip 协议,所以我们可以通过 netstat -anp 命令来查看一下,Linux系统是否在监听mysql端口号:




MySQL的常用管理命令:

     

    参考文章:http://www.west263.com/www/info/68264-1.htm


    启动: service mysqld restartservice mysqld start

    设置密码: mysqladmin -u root password 'new-password'

     登陆:mysql -u root -p

     创建数据库:create database LEO;
     删除数据库:drop database LEO;
     列出数据库:show databases;

       


5]如何操作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令

mysql>use [数据库];  例如:



     备份数据库:

比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump

命令格式如下:

[root@linuxsir01 root]# /opt/mysql/bin/mysqldump -u root -p LEO> /root/linux.sql
Enter password:在这里输入数据库的密码

通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排;

导入已备份的数据库:


    比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作;
  
     [root@linuxsir01 root]# /opt/mysql/bin/mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
     Enter password:在这里输入密码


    查看状态  mysql> show status;
    查看进程 :  mysql> show processlist;

      查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库;
    mysql>use linux;

    mysql> show tables;


几个常用的mysql相关的管理命令

mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。

mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;

isamchk 是用来修复、检查和优化.ism后缀的数据库文件;

mysqldump 是用于备份数据库,前面已经简单的说明过;


myisamchk 用来修复.myi后缀的数据库文件;

比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令;

要把mysqld服务器停下来
[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop

然后执行
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI

上面的命令的意思就是检查所有的.myi文件,数据库的目录在/opt/mysql/var/linux/目录中

如果有问题,应该用-r参数来修复
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI

6]mysqlshow 命令:显示用户选择的数据库和表
[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [数据库名]

比如我要查看名为linux的数据库;应该是:

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux



数据操作命令


1、显示数据库列表。
show databases; 刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。 
2、显示库中的数据表:
show tables;
3、显示数据表的结构: describe 表名; 
4、建库: create database 库名; 
5、建表: 库名; create table 表名 (字段设定列表); 
6、删库和删表: drop database 库名; drop table 表名;
7、将表中记录清空: delete from 表名; 
8、显示表中的记录: select * from 表名;




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/luopeiyuan1990/article/details/17202447

智能推荐

点云配准 3- icp-交互式ICP点云配准_icp.align_行码阁119的博客-程序员宅基地

一、声明本人作为初学者,才开始接触点云配准这一块,如有错误地方,望大家指出,我将及时修改,共同进步。其次这一部分主要是点云数据配准的第一个程序,也是官方代码比较直观的一次icp配准实验。二、数据来源本次数据来源于斯坦福大学的兔子,龙,和猴子。在此注明一下,官方代码只能用于三者重建好了点云数据。斯坦福和龙,猴子点云数据下载地址(麻烦大家打一个小星星):StarStar-666/PointData (github.com)三、代码,由于是在windows上面运行的代码,需对官方代码稍_icp.align

word字体放大后只显示一半_word字体放大后显示不完整的两种解决办法-程序员宅基地

在我们对字体的操作(放大缩小)的过程中,会遇到放大字体后,字体显示不完整,只显示一部分,另外一部分缺失的现象.那么,我们怎么解决这一问题呢??下面我就分享两个方法解决这个问题.希望对大家有所帮助.1、当我们打开文件时,发现字体很小,因此想要放大,如图.2、但是我们放大之后就会变成这样的效果,只显示一部分.3、那么我们要怎么做呢,首先我们把文字选中(全选的快捷键是ctrlA).选中之后如图4、在选..._计算机二级word文档为什么放大或者缩小字体就会被遮挡一部分字体

java实现第七届蓝桥杯路径之谜-程序员宅基地

路径之谜题目描述小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城..._蓝桥杯 java 路径

我是这样学习Linux下C语言编程的-Linux下C语言编程环境的搭建-程序员宅基地

我是这样学习Linux下C语言编程的-Linux下C语言编程环境的搭建 要想在Linux下进行C语言编程,首先得搭建好一个编程环境。这里分别说明一下几个非常有用的软件包。如果你对Linux下软件安装方法还不清楚,请参考文章“Linux下软件安装方法总结”http://zhou

如何在linux/服务器上使用指定版本的cuda_指定linux使用的cuda版本-程序员宅基地

在linux/服务器上使用指定版本的cuda起因是我想要复现一下yolo2-pytorch,网上找的版本全都是pytorch0.4.1.以目前高版本的pytorch运行会报ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead. 的问题。网上查了一下是因为pytorch版本更新取消了utils.ffi。然后我就想既然如此弄一个新的pytorch0.4.1环境不久好啦.但是之后又遇到了pytorch041_指定linux使用的cuda版本

java将数组中的数据修改,深度集成!_普通网友的博客-程序员宅基地

京东Java研发岗一面(基础面,约1小时)自我介绍,主要讲讲做了什么和擅长什么springmvc和spring-boot区别@Autowired的实现原理Bean的默认作用范围是什么?其他的作用范围?索引是什么概念有什么作用?MySQL里主要有哪些索引结构?哈希索引和B+树索引比较?Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?hashmap原理,处理哈希冲突用的哪种方法?还知道什么处理哈希冲突的方法?Java G

随便推点

11.学习率调整策略;TensorBoard简介与安装_tensorboard step调整-程序员宅基地

文章目录为什么要调整学习率?学习率调整pytorch的六种学习率调整策略class_LRScheduler1.StepLR2.MultiStepLR学习率调整小结本课程来自深度之眼deepshare.net,部分截图来自课程视频。为什么要调整学习率?学习率调整梯度下降:wi+1=wi−LR∗g(wi)w_{i+1}=w_i-LR*g(w_i)wi+1​=wi​−LR∗g(wi​)学习率(..._tensorboard step调整

android自定义View之(五)------ViewPagerIndicator-程序员宅基地

1.写在前面的话: 曾经,我看到QQ浏览器的界面指示图标随着手指滑动的效果,觉得非常好,自己也想实现,自己做了一个《android viewpager 之 基本使用方法》,基本上实现了界面指示图标的功能,但是对于界面指示图标随着手指滑动的效果,自己只是知道是要在OnPageChangeListener类中的onPageScrolled方法中实现,但是多次尝试都没有成功。直到,我看到这篇

一周极客热文:2014年最值得学习的编程语言-程序员宅基地

经过数据分析和研究Jobs Tractor的45000个开发人员招聘职位数据,我们得到了上图的结果:自上一年,主要的变化如下: PHP和Java换了位置,但是仍旧是高居不下 Java的Android已经取代了SQL并且接近Objective-C Javascript已经超过了Ruby Python提高了2位 ActionScript下降了2位..._amazon

[干货]Android开发人员不得不收集的代码(不断更新)_java 手机扫描 框架-程序员宅基地

代码地址链接:[干货]Android开发人员不得不收集的代码为方便查找,已进行大致归类,其目录如下所示:尺寸相关→SizeUtils.javadp与px转换 dp2px、px2dpsp与px转换 sp2px、px2sp各种单位转换 applyDimension在onCreate()即_java 手机扫描 框架

MongoDB核心技术_mongodb://192.168.0.53/gdya-程序员宅基地

第一章:逻辑结构Mongodb 逻辑结构 MySQL逻辑结构库database 库集合(collection) 表文档(document) 数据行选择之所以称之为选择,肯定是..._mongodb://192.168.0.53/gdya