MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),虽然功能未必很强大,但因它的免费开源而广受欢迎。

  这次,接着上一篇《CentOs minimal安装和开发环境部署》,讲下Linux环境mysql的安装、初始化配置、以及参数优化,中间会穿插在实际操作过程中遇到的新知识扩展。有些是承接上面的知识,如果不太清楚,可以到上一篇去看下。

一、安装准备

  下载得到安装包很简单。

  1、rpm安装:A、在linux下使用wget获取 B、在虚拟机所在的宿主机windows下,在网络上下载Rpm安装包,然后通过之前我们配置的samba共享目录拷贝到centos下。

  单独下载要注意你需要的rpm包:

  1. MySQL-server-5.1.x-0.i386.rpm //服务端
  2. MySQL-client-5.1.x-0.i386.rpm //客户端
  3. MySQL-devel-5.1.x-0.i386.rpm //开发包
    ...

  2、yum 在线安装:使用CentOs的Yum(如果有特定的Mysql版本需求,要确定你的Yum库里有需要的mysql版本)

  1.   Yum (Yellow dog Updater, Modified)是一个基于rpm包管理的字符前端软件包管理器。能够从指定服务器自动下载rpm包并且安装,处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
      简单认识下几个操作:
      yum -y install samba  #安装samba,“-y”接受所有,不用手动一个个去确认每一步。
      yum remove samba    #卸载samba
      yum info installed   #列出系统中所有安装过的rpm包
      yum list samba     #列出资源库中指定的可以安装或更新以及已经安装的rpm包
      yum info samba     #列出资源库中指定的可以安装或更新以及已经安装的rpm包的信息
      yum search samba    #搜索匹配指定字符的rpm包  

  二、安装Mysql

  检测当前系统是否已经安装了mysql :运行下面的命令,如果已经安装过,会显示mysql的版本信息。

  1. rpm -qa|grep mysql

  如果已经安装过mysql,但是不是自己需要的版本,比如需要高版本的mysql对事件的支持等,怎么办?删除呗!注意,这可能会删除一些相关的依赖库而影响到其他软件,不过可以重新安装。

  1. yum remove mysql-server mysql-devel mysql-client #删除mysql的server、client、以及devel

  1、rpm安装:

  1. rpm -ivh MySQL-server-5.1.x-.i386.rpm #安装服务端(x:你下载的对应版本号)
  2. rpm -ivh MySQL-client-5.1.x-.i386.rpm #安装客户端
  3. rpm -ivh MySQL-devel-5.1.x-.i386.rpm #安装开发包

  2、yum安装:

  1. yum -y install mysql-server #安装服务器端
  2. yum -y install mysql-client #安装客户端
  3. yum -y install mysql-devel #安装开发包

  这里注意:

  A、根据你的开发环境需要,你可以选择对应的rpm包。你可以在命令行,使用"yum search mysql"搜索与mysql有关的安装包,从中选择你需要的。如果你记不住名字也可以这样搜索下。

  1. yum search mysql

  

  B、上面列出rpm包名字和简介,还可以通过yum info获取具体rpm包的具体的版本信息

  1. yum info mysql-server  #列出mysql-server版本信息
  2. yum info mysql-client
  3. yum info mysql-devel
  4.  
  5. #或者
  6. yum info mysql* #一个命令一下子列出mysql相关的所有rpm安装包版本信息

  

三、Mysql初始配置

  刚刚安装好的mysql需要进行一定的配置,才适合使用。

  1、设置Mysql开机启动

  1. chkconfig --list mysql #查看mysql服务开机启动状态
    mysql          0:off1:off2:on3:on4:on5:on6:off
  1. #如果2--5都是on,就不需要下面的命令了
    chkconfig mysql on 设置mysql服务开机启动

  chkconfig,如果不知道是干什么的,那现在来了解下

  1. chkconfig,用来更新(启动或停止)和查询系统服务的运行级信息。
  2. 使用语法:
  3. chkconfig [--add][--del][--list][系统服务] chkconfig [--level <等级代号>][系统服务][on/off/reset]
  4. eg
  5. chkconfig --list [name]:显示所有运行级系统服务的运行状态信息(onoff)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
  6. chkconfig --add name:增加一项新的服务
  7. chkconfig --del name:删除服务
  8. chkconfig [--level levels] name:设置某一服务在指定的运行级是被启动,停止还是重置。
  9.  
  10. level,运行级别,可以用“runlevel”这个命令查询到当前系统的运行级别,也可以“init 0-6”切换运行级别
  1. 0:表示关机
  2. 1:单用户模式
  3. 2:无网络连接的多用户命令行模式
  4. 3:有网络连接的多用户命令行模式
  5. 4:不可用
  6. 5:带图形界面的多用户模式
  7. 6:重新启动

  2、Mysql服务的启动/关闭/重启

  1. service mysql start/shutdown/restart/status  #启动、关闭、重启、查看服务当前状态
  2. 或者
  3. /etc/rc.d/init.d/mysqld start/shutdown/restart/status  #启动、关闭、重启、查看服务当前状态

  3、安全设置

  1. ⑴、刚安装时,root用户是空的,需要修改密码:
  2.   mysqladmin -u root password new-password
  3.   ②或者,登陆后,直接修改用户表里的密码
  4.     mysql -u root #用root用户登录
  5.     1. select user,host,password from mysql.user; 查看数据库的用户
  6.     2. use mysql #切换到mysql表
  7.     set password for root@localhost=password(''); #设置指定域名下root账号的密码
  8.      set password for root@域名=password('');
  9.     3.或者,更常见的sql操作:
  10.     update user set password=password('') where user=‘root@localhost’;
  11. ⑵、匿名用户是危险的
          delete from mysql.user where user=''; #删除匿名用户
    ⑶、退出mysql:  exit;

  4、测试

  登陆:

  1. [root@dream ~]mysql -u root #匿名登录,已设置密码或者删除了匿名用户,登陆失败
  2. [root@dream ~]mysql -u root -p  #通过密码用root登录
  3. Enter password: #在这里输入密码123456
  4. [root@dream ~]mysql -u root -p 123456  #显示密码登陆

  sql操作:

  1. mysql> create database test; #建立名为test的数据库,这个库安装后就有的。
  2. mysql> show databases; #查看系统已存在的数据库
  3. mysql> use test  #切换到指定的数据库
  4. mysql> create table tbl_user(ID int, Name varchar(50)); #建立表
  5. mysql> show tables;  #查看数据库中已存在的表
  6. mysql> drop table tbl_user; #删除表
  7. mysql>drop database test; #删除名为test数据库
  8. mysql> exit #退出MySQL服务器

  5、NaviCat远程连接的权限问题

  1. 远程登录会出现如下提示: 
  1. 1103 - host xxx.xxx.xxx.xx is not allowed to connec to this mysql server.

  2. 1045 - Access denied for user 'root'@'192.168.1.11' (using password: YES).

解决方案:

  1. //mysql访问
  2. grant all privileges on *.* to 'root'@'%' identified by '';
  3.  
  4. #其实就是权限问题,设置root在所有域名(%表示任何地址)登陆时,赋给所有权限,密码123456。根据需要可设置更严格些。

四、数据库和表的导入、导出

  1.导出整个的数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

    mysqldump -u root -p db_test >/home/bak/dbtest.sql

  2.导出指定数据库中的一个表:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

    mysqldump -u root -p db_test tbl_user >/home/bak/test_user.sql

  3.只导出一个结构(struct):加上-d参数

    mysqldump -u root -p -d –add-drop-table db_test >/home/bak/dbtest_struct.sql

  4.只导出一个数据(data):加上-t参数

    mysqldump -u root -p -t –add-drop-table db_test >/home/bak/dbtest_struct.sql

  1. ⑴.只导出表结构 -d
  2.   mysqldump -h 192.168.1.11 -u root -p 123456 -d default-character-set=utf8 test >sql.sql
  3.  
  4. ⑵.只导出数据 -t
  5.   mysqldump -h 192.168.1.11 -u root -p 123456 -t default-character-set=utf8 test >sql.sql
  6.  
  7. 注:①.-d 没有数据(不导出数据,只导出数据结构和表结构)

     -t 不导出结构,只要数据

     –add-drop-table 在每个create语句之前增加一个drop table

     –default-character-set 设置字符集

   ②.这里的导出文件没有加路径,就是相对路径,当前的目录下的文件。

   ③.密码是显示输入的,跟在-p后面。

  5.导入数据库:source 命令

  1. [root@dream ~] mysql -u root -p #登陆
  2. mysql>use test;
  3. mysql>source /home/bak/db_test.sql

  欢迎转载,条件允许请注明出处,谢谢

  作者:子韦一

linux下Mysql 的安装、配置、数据导入导出的更多相关文章

  1. (0.2)linux下Mysql的安装配置与管理入门(目录篇)

    本章学习内容: 1.基于Linux平台的Mysql项目场景介绍 1.1.互联网各类网站.购物网站.门户网站.博客系统.IDC,云平台,VPS,虚拟主机空间,论坛,嵌入式. 2.mysql数据库运行环境 ...

  2. linux下mysql的安装配置

    http://blog.csdn.net/xiagege3/article/details/41852895   (实战用的此文,要求mysql源码必须是未编译的,需依赖cmake编译) http:/ ...

  3. Linux下mongodb安装及数据导入导出教程

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  4. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  5. Linux 下 mysql的基本配置

    Linux 下 mysql的基本配置 2013年02月27日 ⁄ MySQL ⁄ 共 3000字 ⁄ 暂无评论 ⁄ 被围观 2,483 views+ 1. Linux mysql安装:    $ yu ...

  6. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  7. Linux下Kafka单机安装配置方法

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...

  8. Linux 下编译并安装配置 Qt 4.53全过程

    最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发.考虑到程序的跨平台可移植性,最终选择使用 Qt 开发.相对来说,国内关于 Qt 相关文档并不算很多.作者将 Linux 下编译并安 ...

  9. Window/Linux下Mysql的安装步骤

    Windows下Mysql安装教程 首先讲一下Windows环境下安装Mysql,我使用的安装包版本是mysql-8.0.26-winx64 下载地址:MySQL下载 1.点击上面的下载地址得到zip ...

随机推荐

  1. Android应用程序发送广播(sendBroadcast)的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6744448 前面我们分析了Android应用程 ...

  2. jQuery数组处理函数

    写在前面: jQuery的数组处理函数整理如下,如有补充和建议,欢迎评论交流~   1.$.trim(value)  从value中删除任何前导或尾随的空白字符   2.$.each(containe ...

  3. 【转载】ADO.NET与ROM的比较(1):ADO.NET实现CRUD

    [转载]ADO.NET与ROM的比较(1):ADO.NET实现CRUD  转自周公 说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hiberna ...

  4. 关于uisliderview 监听停止滑动的状态

    今天遇到一个问题,做颜色控制的时候,通过slider 改变颜色的亮度.如果直接在slider 上绑定事件,则改变一次就需要向服务器发送一次请求.这种是显然不合理的. 所以使用了下面的解决方法 先将sl ...

  5. 原创+部分引用啦:C# Winform界面中的分隔线问题

    C sharp 中Winform中的控件很多,一个小小的问题居然会绕上一个小弯子,做界面的时候, 你需要在界面上弄一条分隔线,把相关的功能分隔开来,结果原来在其它 IDE编辑器里很容易实现的这个功能, ...

  6. ARM入门实践(一)----Mini6410上最简单的LED点灯裸机程序

    Mini6410上最简单的LED点灯裸机程序 : 实验环境: 根据友善教程,要用ADS,据说现在都不用这个了,但是为了打开友善给的mcp工程,就下了一个,Win7下弄上兼容模式和管理员权限,再下一个S ...

  7. [ZooKeeper研究]二 ZooKeeper协议介绍

    前面介绍了ZooKeeper的基本知识,这一节我们介绍一下ZooKeeper使用的协议.只有了解了ZooKeeper的协议,才能更好得理解ZooKeeper源代码的实现.ZooKeeper使用的是Za ...

  8. css元素隐藏(display:none和visibility:hidden)

    在css中, display:none和visibility:hidden都能够使元素隐藏.但是两者所带来的效果完全不同. css  display:none 当使用该样式的时候,HTML元素的宽高等 ...

  9. 利用cookies获取登录后的网页

    众所周知,HTTP连接是无状态的,那么问题来了,怎么记录用户的登录信息呢?通常的做法是用户第一次发送HTTP请求时,在HTTP Server端生成一个SessionID,SessionID会对应每个会 ...

  10. 400 bad request

    这是查到的Http400状态码的定义 400  错误请求 - 请求中有语法问题,或不能满足请求. HTTP 400 - 请求无效. 表单传入的参数                     userNa ...