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

在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

d3c9f263b14b15e94ac24459f7ae46eb.png

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

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

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

3b5bbe31196b2ce0c432c2b7a360ccf3.png

ec752b09db6eff1eb6bda0f1fb898742.png

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

794e58770a4c6d8fc46aa1466b6c1a02.png

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

c898f0d7dd01e575e25995f89fc2d8e7.png

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

e51563ad56799e9a2911da11d031425c.png

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

406e83aa271ab469aee3aa4ac3aa974f.png

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

141da4190734419fe2463c02d467fe9f.png

四.mysql的主要配置信息

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

b1659b0504771c79c0c3edf1351b0cfa.png

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

6ec9a3652f53f9319dd9b56cc0ba41a3.png

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

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

7fe2b8afc631822028ad2206ab94ccb8.png

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

9943ca6df18d82812b9358cd2ca61a88.png

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

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

324f4a2a2ed28da301519cc1c0b58791.png

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

未完待续。。。

报错: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: 

问题三:设置utf-8

在mysql中默认字符集是latin1,

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

执行:

Java代码  0218303936b37ae303da80cfb5800d8f.png

vi /etc/my.cnf

设置:

Java代码  0218303936b37ae303da80cfb5800d8f.png

·[client]

default-character-set=utf8

·[mysqld]

default-character-set=utf8

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代码

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

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

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

useyourdbname

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值