mysql5.7.9安装

来源:互联网 发布:弧一致性算法 myrrix 编辑:程序博客网 时间:2024/05/15 05:24


本文根据ttlsa大神安装5.6教程改写  http://www.ttlsa.com/mysql/install-mysql5_6/  ,可以参考下~

1、安装必要组件

yum install –y autoconfautomake imake libxml2-devel\

 expat-devel cmake gcc gcc-c++ libaiolibaio-devel bzr bison libtool ncurses5-devel

2、下载mysql软件

打开www.mysql.com

 

点最上边的Download(GA)

 

然后点最下边的

MySQL CommunityEdition(GPL)

Downloadfrom MySQL Developer Zone» 

 

然后点中间的

MySQL CommunityServer (GPL)

 

选择版本吧。。。。。。

http://dev.mysql.com/downloads/mirror.php?id=413140

以上边url为例,这是mysql官网组新的linux系统5.6.12_64bit

 

 

打开页面后点下边的

No thanks, juststart my download.

 

然后就可以开始下载了,根据自己具体环境下载,实际下载链接应该是

http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

 

# cd /usr/local/src

# wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz/from/http://cdn.mysql.com/-O mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz

# tar zxvfmysql-5.6.14-linux-glibc2.5-x86_64.tar.gz –C ../

# cd /usr/local/

# ln -smysql-5.6.14-linux-glibc2.5-x86_64 mysql

#以上,下载mysql并解压,然后创建指向mysqlXXX文件的软链接mysql

 

3、创建mysql用户组和用户,及数据库存放目录

# mkdir -p/data/mysql_data_3306

# mkdir -p/data/mysql_log

# mkdir -p/data/log-bin

#以上,创建数据库目录,可以根据需要自己定义

# groupadd mysql

# useradd mysql -gmysql -M -s /sbin/nologin

#以上,新增用户组mysql及用户mysql  -s /sbin/nologin  设置为不登录的shell

# chown -R mysql.mysql/data/mysql_data_3306 /data/mysql_log /data/log-bin

# chown -R mysql.mysql/usr/local/mysql-5.6.14-linux-glibc2.5-x86_64

#以上,更改数据库目录及数据库文件目录属主与属组

 

4、配置文件/etc/my.cnf

根据具体环境配置,新手建议不要设置过于复杂

vi/etc/my.cnf

[mysqld]

user=mysql

datadir=/data/mysql_data_3306    #指定数据库文件存放路径

socket=/data/mysql_data_3306/mysql.sock   #指定数据库sock文件存放路径

#default-storage-engine = InnoDB

old_passwords=0

 

# Disabling symbolic-links is recommended to prevent assorted securityrisks

#symbolic-links=0

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mariadb according to the

# instructions inhttp://fedoraproject.org/wiki/Systemd

#skip-grant-tables

 

[mysqld_safe]

log-error=/data/mysql_log/mysql-error-3306.log   #指定数据库错误日志存放路径

pid-file=/data/mysql_data_3306/mysql.pid   #指定数据库pid文件存放日志

 

#

# include all files from the config directory

#

!includedir /etc/my.cnf.d

 

5、添加系统服务(也就是添加到 service服务名  start之类的启动)

# cp -af/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld_3306

#以上,是将安装包内数据库服务支持文件放在系统init.d目录下

# vi/etc/init.d/mysqld_3306

修改两处位置:

basedir=/usr/local/mysql

datadir=/data/mysql_data_3306

#以上,分别指定安装包存放路径及数据库文件存放路径

执行如下命令

# chmod 755/etc/init.d/mysqld_3306

# chkconfig --addmysqld_3306

# chkconfig --level 345mysqld_3306 on

#以上,修改mysqld_3306文件执行权限并将其加入系统服务,设置为345级别

 

6、初始化数据库

# cd /usr/local/mysql

# ./bin/mysql_install_db --user=mysql--defaults-file=/etc/my.cnf

5.7.6以后的MySQL版本修改为

#./bin/mysqld--initialize --user=mysql

 

7、启动数据库

# service mysqld_3306start

此时如果启动报错

Starting MySQL...ERROR! The server quit without updating PID file(/data/mysql_data_3306/192.168.132.130.pid).

检查my.cnf,我也在这里折腾了好半天,最后找了一个my.cnf的配置自己写了一个才搞定

如果报错

ERROR 2002 (HY000):Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

可以尝试将sock文件做一个链接到/tmp/mysql.sock

ln -s/data/mysql_data_3306/mysql.sock /tmp/mysql.sock

其实我也不知道为什么,但是我的是这么解决了的,望哪位大神指导告知一下下~

 

8、修改root密码

5.7版本有点小变化,初始化mysql时会有一个参数指定是否添加密码,没有选择会默认添加一个密码,初始化后报出来的那一行


进入后提示更改密码 使用SET PASSWORD =PASSWORD(‘newpasswd‘);即可

如果不记得也没关系

用我们万能的改密码大法

/etc/my.cnf 中添加skip-grant-tables 一行

重启数据库  service mysql_3306 restart

直接mysql登录

mysql> use mysql;

mysql>UPDATE user SET password=password("test123") WHERE user='root';  

因为5.7版本password更改为authentication_string,所以上句在mysql5.7.x中改为:

mysql> UPDATE userSET authentication_string=password("test123") WHERE user='root';

mysql> flush privileges;

mysql> exit;                        

##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

更改后第一次登陆还是会提示更改密码,用上面的SETPASSWORD = PASSWORD(‘newpasswd‘);改了就好了

 

ok,接下来登录,开始折腾吧~~~


第一次发,请多指教,主要是为了将自己的一些想法和实践记录下来,并且与大神们多多沟通,谢谢 ^_^


0 0