CentOS6.5安装MySQL5.7详细教程

CentOS6.5安装MySQL5.7详细教程

注:文中所写的安装过程均在CentOS6.5 x86下通过测试

主要参考博文:

https://segmentfault.com/a/1190000003049498

http://www.th7.cn/db/mysql/201601/175073.shtml

 

1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步使用yum安装时会报错:

1 # yum list installed | grep mysql
2 mysql-libs.i686         5.1.71-1.el6      @anaconda-CentOS-201311271240.i386/6.5
3 # yum -y remove mysql-libs.i686

 

2.从mysql的官网下载mysql57-community-release-el6-5.noarch.rpm(注意这里的el6-5即适配RHEL6.5的版本,如果下载了其它版本后面的安装过程中可能会报错):

wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

 

3.安装第一步下载的rpm文件:

 yum install mysql-community-release-el6-5.noarch.rpm

安装成功后,我们可以看到/etc/yum.repos.d/目录下增加了以下两个文件

1 # ls /etc/yum.repos.d
2 mysql-community-source.repo
3 mysql-community.repo

查看mysql57的安装源是否可用,如不可用请自行修改配置文件(/etc/yum.repos.d/mysql-community.repo)使mysql57下面的enable=1

若有mysql其它版本的安装源可用,也请自行修改配置文件使其enable=0

1 # yum repolist enabled | grep mysql
2 mysql-connectors-community MySQL Connectors Community                        13
3 mysql-tools-community      MySQL Tools Community                             18
4 mysql57-community-dmr      MySQL 5.7 Community Server Development Milesto    65

 

4.使用yum安装mysql:

yum install mysql-community-server

 

5.启动mysql服务:

service mysqld start

查看root密码:

1 # grep "password" /var/log/mysqld.log
2 2016-08-10T15:03:02.210317Z 1 [Note] A temporary password is generated for root@localhost: AYB(&-3Cz-rW

现在必须立刻修改密码,不然会报错:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

修改密码(如果在此步报错ERROR 1819,请向下翻查看原因及解决方法):

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

 

6.查看mysqld是否开机自启动,并设置为开机自启动:

1 chkconfig --list | grep mysqld
2 chkconfig mysqld on

 

7.修改字符集为UTF-8:

vim /etc/my.cnf

在[mysqld]部分添加:

character-set-server=utf8

在文件末尾新增[client]段,并在[client]段添加:

default-character-set=utf8

修改好之后重启mysqld服务:

service mysqld restart

查看修改结果:

复制代码

mysql> show variables like "%character%";
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

复制代码

 

注:在修改密码步骤,若设置的密码为简单密码,可能会出现如下错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这一错误其实与validate_password_policy值的设置有关:

validate_password_policy值默认为1,即MEDIUM,所以刚开始设置的密码必须符合长度要求,且必须含有数字,小写或大写字母,特殊字符

如果我们只是做为测试用而不需要如此复杂的密码,可使用如下方式修改validate_password_policy值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

这样,对密码要求就只有长度了,而密码的最小长度由validate_password_length值决定

validate_password_length参数默认为8,它有最小值的限制,最小值为:

validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密码中数字的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。这些参数的默认值均为1,所以validate_password_length最小值为4,如果显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4

设置validate_password_length的值:

mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

 

 

java连接linux中mysql出现:Access denied for user 'root'@'192.168.91.1' (using password: YES)

 

这是因为当前用户没有访问mysql的权限导致的在mysql中执行:grant all privileges on *.* to root@'%' identified by 'root';

就可以访问了。

 

windows下用navicat远程链接虚拟机Linux下MySQL数据库

       今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对远程用户登陆的授权问题。这里说一下我的解决方法。(本人小白)

  首先,我用navicat去远程链接我虚拟机中的MySQL,链接测试失败。

  然后在虚拟机中查看网络端口信息:

  #netstat -ntpl

  

 

  之后查看了防火墙的状态,发现3306端口的数据包都是丢弃状态

  #iptables -vnL

  

  

  这里要清除防火墙中链中的规则

  #iptables -F

 

  在这之后,我又远程链接了一下MySQL,出现了以下错误,查了一下,是因为MySQL没有允许远程登陆,所以要授权MySQL远程登陆。

  

  

这里先说一下MySQL登陆:

  格式: mysql -h主机地址 -u用户名-p用户密码


    1、例1:连接到本机上的MYSQL
    找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,输入密码,直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

    2、连接到远程主机上的MySQL
    假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
    mysql -h10.0.0.1 -uroot -p123
   (注:p与123(密码)之间最好不加空格,其它也一样)

    3、退出MySQL命令
   exit (回车)

最后授权MySQL,允许远程用户登录访问MySQL

  手动增加可以远程访问数据库的用户。

  方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

  #mysql -u root -proot
  mysql>use mysql;
  mysql>update user set host = '%' where user = 'root';
  mysql>select host, user from user;


  方法二、直接授权(推荐)

  从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:
  # mysql -u root -proot 
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

  操作完后切记执行以下命令刷新权限 
    FLUSH PRIVILEGES

   这时再通过navicat远程链接MySQL,链接测试,如下图,成功。

  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值