文档章节

CentOS6.7中mysql的安装与配置yum

rock912
 rock912
发布于 2016/06/01 13:42
字数 1972
阅读 305
收藏 2

在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其他选择还可以有postgreSQL,oracle等

在Linux上安装mysql数据库,我们可以去其官网上下载mysql数据库的rpm包,http://dev.mysql.com/downloads/mysql/5.6.html#downloads,大家可以根据自己的操作系统去下载对应的数据库文件

这里我是通过yum来进行mysql数据库的安装的,通过这种方式进行安装,可以将跟mysql相关的一些服务、jar包都给我们安装好,比较方便

一.查看系统中是否已经自带mysql数据库

 

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

通过这个命令查看该系统中是否已经安装了mysql,可以看到我的系统比较干净,没有安装任何版本的mysql,如果你系统有安装,那可以选择进行卸载

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

二.使用yum命令进行mysql的安装

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

我们通过命令可以查看yum上提供下载的mysql的版本信息

 

然后通过下面的命令进行数据库的安装

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

 

等待一段时间后,输出:

 

表示安装已经成功了!通过以下命令可以查看已安装数据库的版本信息

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

三.mysql数据库的初始化及相关配置

我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。

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

这时我们会看到第一次启动mysql服务器以后会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息了

我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过  chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动,如果发现mysqld服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了

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

我们就根据这个命令为root用户设置密码为root

此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了

四.mysql的主要配置信息

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

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

mysql,test是mysql数据库自带的两个数据库

现在我们进入mysql命令行来创建一个数据库试试

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

其中mysqld.log 这个文件就是存放我们跟mysql数据库进行操作而产生的一些日志信息,通过查看该日志文件,我们可以从中获得很多信息

我们都知道mysql数据库绑定的端口号是 3306 ,所以我们可以通过 netstat -anp 命令来查看一下,Linux系统是否在监听 3306 这个端口号:

 最后我们学习一些linux下mysql的常用命令:

可以参考http://www.xxlinux.com/article/development/database/20121106/18532.html

未完待续。。。

报错:1130-host ... is not allowed to connect to this MySql server

解决方法:

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>flush privileges;

mysql>select host, user from user;

mysql>quit

2. 授权法。

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下.

在安装mysql的机器上运行:

1、d:\mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限

3、mysql>FLUSH PRIVILEGES //修改生效

4、mysql>EXIT //退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦!

 

报错二:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

#1.停止mysql数据库

/etc/init.d/mysqld stop 

#2.执行如下命令

mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 

#3.使用root登录mysql数据库

mysql -u root mysql 

#4.更新root密码

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

#5.刷新权限 

mysql> FLUSH PRIVILEGES; 

#6.退出mysql

mysql> quit 

#7.重启mysql

/etc/init.d/mysqld restart 

#8.使用root用户重新登录mysql

mysql -uroot -p 

Enter password: <输入新设的密码newpassword>

 

问题三:设置utf-8

在mysql中默认字符集是latin1, 

想要设置字符集为uft-8,可以在 my.cnf 文件中添加以下设置: 

执行: 

Java代码  收藏代码

  1. vi /etc/my.cnf  

设置: 

Java代码  收藏代码

  1. ·[client]  
  2. default-character-set=utf8  
  3. ·[mysqld]  
  4. default-character-set=utf8  
  5. skip-character-set-client-handshake #此处是忽略客户端的字符集,使用服务器的设置  


(skip语句和client中的default选一个) 
当然你可以在建立数据库是规定字符集: 
create database db_name default character set utf8 callate utf8-general-ci; 
也可以在链接数据库前设置:set names 'utf8'; 

重点在红字上,加了skip-character-set-client-handshake,client里面就不用加default了 

重启MySql 

sudo /etc/init.d/mysql restart  

查看Mysql监听端口命令:

show variables like "port";  


执行 Mysql命令

show variables like 'characte%';  

结果: 

Java代码  

  1. +--------------------------+----------------------------+  
  2. | Variable_name | Value |  
  3. +--------------------------+----------------------------+  
  4. | character_set_client | utf8 |  
  5. | character_set_connection | utf8 |  
  6. | character_set_database | utf8 |  
  7. | character_set_filesystem | binary |  
  8. | character_set_results | utf8 |  
  9. | character_set_server | utf8 |  
  10. | character_set_system | utf8 |  
  11. | character_sets_dir | /usr/share/mysql/charsets/ |  
  12. +--------------------------+----------------------------+  

 

问题四:导入导出整个数据库

     CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

       use yourdbname

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

         mysqldump --databases test -u root -p  > usr/local/src/test.sql

 

  2.导出一个表

  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

  3.导出一个数据库结构

  mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

  -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

  4.导入数据库

  常用source 命令

  进入mysql数据库控制台,

  如mysql -u root -p

  mysql>use 数据库

  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

  mysql>source /home/pt/test.sql

       或直接导入命令为: mysql -h localhost -u root -p temp

本文转载自:http://www.cnblogs.com/shenliang123/p/3203546.html

rock912
粉丝 30
博文 89
码字总数 23653
作品 0
宁波
程序员
私信 提问
Dockerfile:mysql镜像编写

mysql镜像在centos6.7上的Dockerfile实现如下: FROM centos:6.7 MAINTAINER chenyufeng "yufengcode@gmail.com" 使用yum的方式安装mysql; RUN yum install -y mysql-server mysql 安装完成......

CHENYUFENG1991
2017/12/10
0
0
cobbler 全自动安装

cobbler简介 cobbler是实现自动化安装操作系统的工具。它解决了PXE安装时的弊端(只能实现单一操作系统的安装)。实际上,cobbler是对PXE二次封装可实现多版本,多环境操作系统安装的高级抽象...

5431039
2016/04/12
0
0
6、CentOS搭建本地Yum源以及使用163的Yum源

1:===利用ISO镜像制作基于本地磁盘路径的yum源==== 原理:centos iso本身就是一个yum源,在centOS6.7/Packages里面有很多的rpm包,这些包的映射关系保存在centOS6.7/repodata/中,所以我们只...

刘付kin
2016/12/12
25
0
Wordpress与Discuz

httpd访问的资源有两种,静态资源以及动态资源;静态资源有我们常见的图片,jsp,音乐,音频等,而动态资源指的是一些需要经过编译执行代码来实现的资源类型,需要数据库MySQL或MariaDB来辅助...

wujunqi1996
2018/06/28
0
0
centos7作为Docker基础镜像须知

centos7基础镜像Dockerfile来构建mysql镜像可能会有问题,在Docker hub上构建失败: Build failed: The command '/bin/sh -c /etc/init.d/mysqld start && mysql -e "grant all privileges o......

chenyufeng1991
2018/04/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 Java语法教程 Java语言的跨平台特性

什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台。 CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种...

老码农的一亩三分地
5分钟前
0
0
http传值问题

这两天遇到一个问题 ,与一个渠道联调接口,http请求,展示ptf 的需求,服务方以一个二进制的方式返回。 当时我们在一开始开发的时候,我们按照读取文件的方式处理,本地存一个ptf 的方式 ,...

鬼才王
14分钟前
0
0
【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看

不是线程的安全 面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。 论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。...

中关村的老男孩
14分钟前
4
0
5.01- Druid数据源配置

1、配置项 配置 缺省值 说明 name 无 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来。如果没有配置,将会生成一个名字, 格式是:"DataSource-" + Syste...

静以修身2025
19分钟前
0
0
itop4412开发板-Linux内核的编译

本篇文章基于itop4412开发板 5.3.2.1源码目录 Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。 5.3.2.2 编译器 内核的编译器和 uboot 的编译器一样,参考“5.3.1.2 编...

书白
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部