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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 原文 linux下Mysql 的安装、配置、数据导入导出 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),虽然功能未必很强大,但因它的免费开源而广受欢迎。   这次,接着上一篇《CentOs minimal安装和开发环境部署》,讲下Linux环境mysql的安装、初始化配置、以及参数优化,中间会穿插在实际操作过程中遇到的新知识扩展。

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

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

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

一、安装准备

  下载得到安装包很简单。

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

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

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

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

复制代码
  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的版本信息。

rpm -qa|grep mysql 

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

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

   1、rpm安装:

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

    2、yum安装:

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

   这里注意:

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

yum search mysql

    

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

yum info mysql-server  #列出mysql-server版本信息
yum info mysql-client
yum info mysql-devel

#或者
yum info mysql* #一个命令一下子列出mysql相关的所有rpm安装包版本信息

   

 

三、Mysql初始配置

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

  1、设置Mysql开机启动

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

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

复制代码
chkconfig,用来更新(启动或停止)和查询系统服务的运行级信息。
使用语法:
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
eg:
chkconfig --list [name]:显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
chkconfig --add name:增加一项新的服务
chkconfig --del name:删除服务
chkconfig [--level levels] name:设置某一服务在指定的运行级是被启动,停止还是重置。


level,运行级别,可以用“runlevel”这个命令查询到当前系统的运行级别,也可以“init 0-6”切换运行级别
0:表示关机
1:单用户模式
2:无网络连接的多用户命令行模式
3:有网络连接的多用户命令行模式
4:不可用
5:带图形界面的多用户模式
6:重新启动
     
复制代码

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

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

  3、安全设置

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

  4、测试

  登陆:

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

  sql操作:

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

 

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

远程登录会出现如下提示: 
1103 - host xxx.xxx.xxx.xx is not allowed to connec to this mysql server.
或
1045 - Access denied for user 'root'@'192.168.1.11' (using password: YES).

解决方案:

//mysql访问
grant all privileges on *.* to 'root'@'%' identified by '123456';

#其实就是权限问题,设置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

复制代码
⑴.只导出表结构 -d
  mysqldump  -h 192.168.1.11 -u root -p 123456 -d –default-character-set=utf8 test >sql.sql

⑵.只导出数据 -t
  mysqldump  -h 192.168.1.11 -u root -p 123456 -t –default-character-set=utf8 test >sql.sql

注:①.-d 没有数据(不导出数据,只导出数据结构和表结构)

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

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

     –default-character-set 设置字符集

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

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

复制代码

  5.导入数据库:source 命令

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

 

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

  作者:子韦一

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
94 8
centos7 mysql安装及配置
|
13天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
22天前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
22天前
|
关系型数据库 MySQL Linux
Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
【8月更文挑战第23天】Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
117 1
|
17天前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
130 3
|
13天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
173 73
|
6天前
|
Linux Shell
Linux 中 Tail 命令的 9 个实用示例
Linux 中 Tail 命令的 9 个实用示例
28 6
Linux 中 Tail 命令的 9 个实用示例
|
11天前
|
Linux 应用服务中间件 nginx
|
4天前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
27 8