注:参考地址:http://www.cr173.com/html/19814_1.html
本文作者以初学者身份,和读者一起学习,最终达到通过阅读此文后,能灵活运用linux下mysql。环境Centos6.3
因为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数据库了
[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
我们的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端口号:
参考文章: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;
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 表名;