centos安装mysql5.7.10
本文描述了在centos下安装mysql5.7.10-community版本的过程。经本人实操作,证实可以正确安装:
- 选择安装方法或发行版本
mysql有好几个发行版本,在linux下安装,采用通用的方式安装可以达到,一个版本的会装,那么其他版本的linux也会装的目的,也就是说适应性强。以后linux的安装,要么使用从源代码编译安装,要么采用通用的发行版本,即*.tar.gz文件进行安装的方式进行。 - 下载mysql
去mysql的官方网站http://www.mysql.com/downloads/,选择
MySQL Community Downloads-》Download MySQL Community Server,选择linux generic版本下载。 - 安装mysql
参考mysql官方安装文档,http://dev.mysql.com/doc/refman/5.7/en/binary-installation.html,按其执行顺序如下:
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
#shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> mv /path/to/mysql-VERSION-OS /usr/local/mysql
shell> cd /usr/local/mysql
#shell> mkdir mysql-files
#shell> chmod 770 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql . #点代表当前目录,注意
# 以下步骤,MySQL 5.7.6 and up,在这系统会生成默认的root密码,需要拷贝下来,然后系统会在/var/lib/目录下生成mysql数据文件目录,如若已经有了此目录先删除它,不然报错
#shell> bin/mysqld --initialize --user=mysql
#使用空秘密安装
shell> bin/mysqld --initialize-insecure --user=mysql
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up,此步骤不是必须的
shell> chown -R root .
#shell> chown -R mysql data mysql-files
shell> chown -R mysql /var/lib/mysql #mysql 默认的数据文件存放位置,最好不改
#shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
shell> service mysql start # startup mysql DB
#验证mysql安装正常
默认的mysql的配置文件存储在,/etc/my.cnf中,可以查看其中的配置文件信息。
需要做的是,
/var/log/目录中需要手工创建mariadb目录,并修改所有者为mysql
shell>chown -R mysql /var/log/mariadb
创建/tmp/mysql.sock到/var/lib/mysql/mysql.sock的链接,因为mysql默认是这样的行为:
shell>ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
另外,mysql.sock需要在mysql启动以后才生成,如果找不到此文件,那么restart mysql就可以了。
以下针对以上命令作说明:
- 验证mysql安装完毕
执行
shell> /usr/local/mysql/bin/mysqladmin version
如果返回
bin/mysqladmin Ver 8.42 Distrib 5.7.10, for linux-glibc2.5 on x86_64
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.10
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 2 hours 41 min 4 sec
Threads: 1 Questions: 2 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.000
那么就说明装成功了
- 访问mysql
- 启用SSL访问
修改root密码:
mysql -u root
use mysql
set password for root@localhost = password('abcdefadsfad');
连接mysql
从服务器连接的时候没有问题; 那么从客户端呢?
一般会遇到错误
Can't connect to MySQL server on 'X.x.x.x' (61)
这时候应该做的事去查看mysql的日志,位置默认在
shell> cat /var/log/mariadb/mariadb.log
对于mysql5.7.10的问题是启用了IPV6,所以要设置绑定IPV4的地址,具体设置需要在
shell> vim /etc/my.cnf
加入如下的设置
# 如果启用了IPv6,默认会绑定IPv6地址,某些MySQL管理软件不支持连接到IPv6的地址(如[::1]:3306),故此处设置绑定IPv4地址
port=3306
bind-address = 0.0.0.0
然后重启mysql
shell> service mysql stop/start
shell> netstat -an | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
此时,显示配置正确
连接时还是连不上
一般是由于防火墙造成的,centos7与centos6 不同,
shell> systemctl stop firewalld
然后还是有问题,参考
http://www.cnblogs.com/zhangzhu/archive/2013/08/22/3274831.html
修改mysql密码
方法3: 用UPDATE直接编辑user表
shell> mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;