Centos安装Mysql数据库

查看我们的操作系统上是否已经安装了mysql数据库

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

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

[root@centos~]# rpm -e mysql  // 普通删除模式

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

通过yum来进行mysql的安装

[root@centos~]# yum list | grep mysql

[root@centos~]# yum install -y mysql-server mysql mysql-deve

查看刚安装好的mysql-server的版本

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

注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置

[root@centos~]# service mysqld start

 

初始启动mysql之后再登录就会很快了

[root@centos~]# service mysqld restart

 

查看mysql服务是不是开机自动启动

[root@centos~]# chkconfig --list | grep mysqld

mysqld             0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭

通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了

[root@centos~]# chkconfig mysqld on

[root@centos~]# chkconfig --list | grep mysql

mysqld             0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

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

[root@centos~]# /usr/bin/mysqladmin -u root password 'new-password'  // 为root账号设置密码

注意:这个root账号是mysql的root账号,非Linux的root账号)

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

[root@centos ~]# mysql -u root -p

Mysql数据库的主要配置文件

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

[root@centosetc]# 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

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

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

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

[root@centos mysql]# ls -l

总用量 20488

-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  // 这两个是mysql数据库安装时默认的两个数据库文件

srwxrwxrwx. 1 mysql mysql        0 4月   6 22:01 mysql.sock

drwx------. 2 mysql mysql     4096 4月   6 21:59 test  // 这两个是mysql数据库安装时默认的两个数据库文件

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

mysql> create database ceshi001;

Query OK, 1 row affected (0.00 sec)

[root@centos 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 ceshi001  // 这个就是我们刚自己创建的centos数据库

[root@centos mysql]# cd xiaoluo/

[root@centos ceshi001]# ls

db.opt

/var/log mysql数据库的日志输出存放位置

我们的mysql数据库的一些日志输出存放位置都是在/var/log这个目录下

[root@centos ceshi001]# cd

[root@centos ~]# cd /var/log

[root@centos 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

查看网络端口号为3306的mysql数据库是否正在工作:

[root@centos mysql]#netstat -anp|more

使用Navicat连接Linux

这样就完成了在Centos上安装mysql数据库的操作,之后打开本地window->cmd,ping一下linux地址看看是否能连上

 

查看虚拟机IP为192.168.38.128

cmd窗口ping 192.168.38.128,出现如下界面说明是可以的  

默认安装linux是只开通了22端口,不能通过3306端口让外界访问,首先要在mysql>中打开权限,在将iptables的3306端口打开

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; FLUSH PRIVILEGES;  // 在mysql控制台执行命令中的 ‘root’@’%’ 可以这样理解: root是用户名,%是主机名或IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的IP地址;’MyPassword’是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权限。

然后直接关闭防火墙也可以.

mysql> flush privileges;

检查虚拟机mysql的端口号是否对外开通

比如我们能用xshell等远程工具连接虚拟机上的linux,是因为开放了22端口,查看mysql的端口,在mysql命令行模式下执行以下命令就可以查看,查到的结果是3306。

     mysql> show variables like '%port%';

  

  查看虚拟机的3306端口是否开放

  cmd下执行telnet 192.168.38.128 3306

  无法执行,别方,这是因为Windows telnet默认是关闭的

  

  按照红框提示开启telnet

  

  重新打开cmd窗口执行命令,结果是无法连接,这是因为虚拟机上的3306并没有对外开放,可以用22的试下效果就知道了

  

  开通虚拟机的3306端口  

  查看虚拟机防火墙的状态

  [root@centos~]# service iptables status

  可以看到目前只有22端口对外开放

  

  编辑防火墙文件打开3306端口

  [root@centos~]# vim /etc/sysconfig/iptables

  模仿22端口开放命令添加如图所示的一行即表示对外开放3306端口  

  

  重启防火墙

  [root@centos~]# service iptables restart  // 可以看到3306已经开放

  

打开Navicat,创建连接到虚拟机:

报错:1045 Access denied for user 'centos-test@'%' (using password: YES)

  是因为在mysql>  GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "密码"; 设置的是所有linux中的root账户 ,而非centos-test账户

  mysql> flush privileges;

解决办法:

  GRANT ALL PRIVILEGES ON *.* TO centos-test@"%" IDENTIFIED BY "密码"; // 通过该命令允许centos-test的所有账户通过密码来访问该数据库

  mysql> flush privileges;

如果想通过cmd来访问mysql

要在window下安装mysql操作台,然后远程连接虚拟机数据库访问。

  端口都开启了,但还是连不上,看提示说明至少已经关联到mysql,不允许是因为权限不够

 

  我也不用root账号了,这里重新创建一个账号并赋予所有权限,之后让权限配置生效,在虚拟机上的mysql命令行模式下执行以下命令

    mysql> create user 'panda'@'%' identified by '123456';

    mysql> grant all on *.* to 'panda'@'%';

    mysql> flush privileges;

  然后重新连接DB

附加题:

将mysql目录下bin目录中的mysql.exe放到C:\WINDOWS下,可以执行以下命令

连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 
断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
删除授权: revoke select,insert,update,delete om *.* from test2@localhost; 显示数据库:show databases;
显示数据表:show tables;
显示表结构:describe 表名; 创建库:create database 库名;
删除库:drop database 库名;
使用库:use 库名; 创建表:create table 表名 (字段设定列表);
删除表:drop table 表名;
修改表:alter table t1 rename t2
查询表:select * from 表名;
清空表:delete from 表名;
备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasename tablename > tablename.sql
恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql(操作前先把原来表删除) 增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
删除列:ALTER TABLE t2 DROP COLUMN c; 备份数据库:mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename > database.sql

通过window(Navicat)访问linux中的mysql数据库的更多相关文章

  1. window下利用navicat访问Linux下的mariadb数据库

    1.再Linux上成功安装mariadb数据库后,不管是在dos(敲命令mysql -h192.168.136.8 -uroot -p)下或者是navicat(创建连接)下连接mariadb数据库,会 ...

  2. Linux 命令之 Navicat 连接 Linux 下的Mysql数据库

    2016年12月7日18:44:06 -====------------------------  GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDEN ...

  3. LINUX中备份mysql数据库

    1.在LINUX中创建备份目录 如:/home/backup   2.把sh脚本放到备份目录下   脚本如下 https://wws.lanzous.com/i1oCxlccapa密码:dter   ...

  4. linux中安装mysql数据库

    遇到ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ...

  5. linux中使用mysql数据库

    在安装完数据库后,如果没有设置root的mysql密码,在命令行输入mysql即可进入数据库 show databases;(有分号):查看当前存在的数据库 create database 名字:创建 ...

  6. linux 中,mysql数据库备份操作

    1.新建一个sh脚本(可以先建一个txt文本,然后改为sh文件). 代码如下: #!/bin/bash #设置mysql备份目录 folder=/**/** cd $folder day=`date ...

  7. linux 中对 mysql 数据库的基本命令

    显示数据库列表 show databases; 显示库中的数据表 use mysql: // 打开库 show tables; 建库 create database 库名; 建库是设置好字符编码: c ...

  8. linux中备份mysql数据库的一个shell脚本

    #!/bin/bash #FileName:select_into_bak.sh #Desc:Use select into outfile to backup db or tables #Creat ...

  9. 在 linux 中连接 mysql 数据库

    命令格式 mysql -h主机地址 -u用户名 -p用户密码 登录本机 mysql mysql -u用户名 -p用户密码 实例 TD - X1数据库:/opt/lampp/bin/mysql -u r ...

随机推荐

  1. Oracle Schema Objects(Schema Object Storage And Type)

    One characteristic of an RDBMS is the independence of physical data storage from logical data struct ...

  2. packages managers

    nodejs npm/bower/component ...rubygemsperl cpanpython pipOS X homebrewsublime text的package-control 那 ...

  3. Python多股票同周期可视化

    import warnings warnings.filterwarnings("ignore") import numpy as np import pandas as pd i ...

  4. Python 之父谈放弃 Python:我对核心成员们失望至极!

    Python 之父讲述退位原因,以及 Python 的未来将何去何从. ​ 在 Python 社区,Python 的发明者 Guido Van Rossum 被称为 “仁慈的终生独裁者”(BDFL,B ...

  5. setup.py

    from distutils.core import setup # 使用说明 # 执行以下命令 # python3 setup.py build # python3 setup.py sdist(这 ...

  6. 011-HQL中级1-Hive快捷查询:不启用Mapreduce job启用Fetch task三种方式介绍

    如果你想查询某个表的某一列,Hive默认是会启用MapReduce Job来完成这个任务,如下: hive; Total MapReduce jobs Launching Job out since ...

  7. odoo学习:创建新数据库及修改数据库内容

    1.切换到odoo用户 su - odoo -s /bin/bash 2. 创建新数据库 createdb v8dev 3. 初始化数据库,并配置odoo数据模式 chmod +x odoo: odo ...

  8. 子集和问题(应用--换零钱)POJ2229:Sumsets

    我一直在纠结换零钱这一类型的题目,今天好好絮叨一下,可以说他是背包的应用,也可以说他是单纯的dp.暂且称他为dp吧. 先上一道模板题目. sdut2777: 小P的故事——神奇的换零钱 题目描述 已知 ...

  9. SDUT3146:Integer division 2(整数划分区间dp)

    题目:传送门 题目描述 This is a very simple problem, just like previous one. You are given a postive integer n ...

  10. 在MFC里面使用ADO访问微软的ACCESS数据库 实现增删改查

    声明:百度以外的公司可以自由转载该文. 正如我上一篇博文提到,ADO这货和MFC没有任何关系,ADO 是一个独立的组件.所以为了使用ADO 我们就要把ADO引入到MFC中. ADO是硬盘上的表现形式是 ...