当前位置:Gxlcms > mysql > linux下Mysql的安装、配置、数据导入导出

linux下Mysql的安装、配置、数据导入导出

时间:2021-07-01 10:21:17 帮助过:7人阅读

MySQL 是一种 开放源代码 的关系型 数据库管理 系统(RDBMS), 虽然功能未必很强大,但因它的免费开源而广受欢迎。 CSDN写日志总有问题,直接到这里看吧;http://www.cnblogs.com/alylee/p/MySql_Setup_Init.html 一、安装准备 下载得到安装包很简单。 1、rp

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

  CSDN写日志总有问题,直接到这里看吧; http://www.cnblogs.com/alylee/p/MySql_Setup_Init.html

一、安装准备

  下载得到安装包很简单。

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

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

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

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

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

  二、安装Mysql

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

  1. rpm -qa|<span>grep</span> mysql

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

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

  1、rpm安装:

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

  2、yum安装:

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

  这里注意:

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

  1. <span>yum</span> search mysql

  

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

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

  

三、Mysql初始配置

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

  1、设置Mysql开机启动

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

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

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

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

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

  3、安全设置

  1. <span>⑴、刚安装时,root用户是空的,需要修改密码:
  2.   ①mysqladmin </span><span>-</span>u>password(<span>'</span><span>123456</span><span>'</span><span>); #设置指定域名下root账号的密码
  3.      </span><span>set</span>>password(<span>'</span><span>123456</span><span>'</span><span>);
  4.     </span><span><strong>3</strong></span><span>.或者,更常见的sql操作:
  5.     </span><span>update</span> <span>user</span> <span>set</span>>password(<span>'</span><span>123456</span><span>'</span>) <span>where</span> <span>user</span><span>=</span>‘root<span>@localhost</span><span>’;
  6. ⑵、匿名用户是危险的
  7.       </span><span>delete</span> <span>from</span>><span>''</span>; #删除匿名用户
  8. ⑶、退出mysql:  <span>exit</span>;

  4、测试

  登陆:

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

  sql操作:

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

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

  1. 远程登录会出现如下提示: 

  1. <span><strong>1103</strong></span> <span>-</span> host xxx.xxx.xxx.xx <span>is</span> <span>not</span> allowed <span>to</span> connec <span>to</span><span> this mysql server.
  2. </span><span><strong>1045</strong></span> <span>-</span> Access denied <span>for</span> <span>user</span> <span>'</span><span>root</span><span>'</span>@<span>'</span><span>192.168.1.11</span><span>'</span> (using password: YES).

解决方案:

  1. <span>//</span><span>mysql访问
  2. </span><span>grant</span> <span>all</span> <span>privileges</span> <span>on</span> <span>*</span>.<span>*</span> <span>to</span> <span>'</span><span>root</span><span>'</span>@<span>'</span><span>%</span><span>'</span> identified <span>by</span> <span>'</span><span>123456</span><span>'</span><span>;
  3. #其实就是权限问题,设置root在所有域名(</span>%<span>表示任何地址</span>)登陆时,赋给所有权限,密码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. <span>⑴.只导出表结构 -d
  2.   mysqldump </span><span>-</span>h 192.<span><strong>168.1</strong></span>.<span><strong>11</strong></span> <span>-</span>u>utf8 test <span>></span><span>sql.sql
  3. ⑵.只导出数据 -t
  4.   mysqldump </span><span>-</span>h 192.<span><strong>168.1</strong></span>.<span><strong>11</strong></span> <span>-</span>u>utf8 test <span>></span>sql.sql
  5. 注:①.<span>-d</span> 没有数据(不导出数据,只导出数据结构和表结构)

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

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

     –default-character-set 设置字符集

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

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

  5.导入数据库:source 命令

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

  !

  作者:子韦一

人气教程排行