centos6.7 64位环境下部署MySQL-5.7.13

前端之家收集整理的这篇文章主要介绍了centos6.7 64位环境下部署MySQL-5.7.13前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

系统环境:

[root@localhost ~]# cat /etc/redhat-release

CentOS release 6.7 (Final)

[root@localhost tools]# uname -a

Linux localhost 2.6.32-573.22.1.el6.x86_64 #1 SMP Wed Mar 23 03:35:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost tools]#

软件准备:

[root@localhost tools]# pwd

/opt/tools

[root@localhost tools]# ll

total 674208

-rw-r--r-- 1 root root 639864682 Jul 22 17:47 MysqL-5.7.13-linux-glibc2.5-x86_64.tar.gz

-rw-r--r-- 1 root root 50516207 May 25 12:01 MysqL-5.7.13.tar.gz

解压安装:

[root@localhost tools]# tar xf MysqL-5.7.13-linux-glibc2.5-x86_64.tar.gz

total 674212

drwxr-xr-x 9 7161 wheel 4096 May 25 15:04 MysqL-5.7.13-linux-glibc2.5-x86_64

-rw-r--r-- 1 root root 50516207 May 25 12:01 MysqL-5.7.13.tar.gz

[root@localhost tools]#

[root@localhost tools]# mv MysqL-5.7.13-linux-glibc2.5-x86_64 /usr/local/MysqL

初始化操作(生成初始密码):

[root@localhost MysqL]# ./bin/MysqLd --initialize --user=MysqL --basedir=/usr/local/MysqL --datadir=/data/MysqL/data

2016-07-22T09:58:15.001776Z 0 [Warning] InnoDB: New log files created,LSN=45790

2016-07-22T09:58:15.062066Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2016-07-22T09:58:15.073009Z 0 [Warning] No existing UUID has been found,so we assume that this is the first time that this server has been started. Generating a new UUID: cebfb8a6-4ff2-11e6-8c8d-005056a01a07.

2016-07-22T09:58:15.074370Z 0 [Warning] Gtid table is not ready to be used. Table 'MysqL.gtid_executed' cannot be opened.

2016-07-22T09:58:15.075736Z 1 [Note] A temporary password is generated for root@localhost: k_1ljzVh3<-,

[root@localhost MysqL]#

PS:MysqL5.7新特性:由上面可以看出, MysqL_install_db 已经不再推荐使用了,建议改成 MysqLd --initialize 完成实例初始化。

加入MysqL为系统服务:

[root@localhost MysqL]# cp support-files/MysqL.server /etc/init.d/MysqLd

[root@localhost MysqL]# chkconfig MysqLd on

[root@localhost MysqL]# chkconfig --list|grep MysqLd

MysqLd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@localhost MysqL]#chmod 755 /etc/init.d/MysqLd

MysqL服务启动、重启、停止

[root@localhost MysqL]# serivce MysqLd start

[root@localhost MysqL]# serivce MysqLd stop

[root@localhost MysqL]# serivce MysqLd restart

[root@localhost MysqL]#

设置环境变量:

[root@localhost MysqL]# vim /etc/profile

export PATH=/usr/local/MysqL/bin:$PATH

[root@localhost MysqL]#

检查MysqL是否能开启

[root@localhost MysqL]# cd /usr/local/MysqL

[root@localhost MysqL]# cd support-files/

[root@localhost support-files]# ./MysqL.server start

Starting MysqL.. SUCCESS!

若改用了, 则在启动服务时会出现如下错误

# ./support-files/MysqL.server start

./support-files/MysqL.server: line 276: cd: /usr/local/MysqL: No such file or directory

Starting MysqL ERROR! Couldn't find MysqL server (/usr/local/MysqL/bin/MysqLd_safe)

这时候我们需要修改/support-files/MysqL.server文件的basedir和datadir目录路径为我们正确的MysqL的basedir和datadir路径, 如下:

# vim support-files/MysqL.server

--------------------------

...

basedir=/usr/local/MysqL

datadir=/data/MysqL/data

# ./support-files/MysqL.server start

Starting MysqL.. SUCCESS!

创建配置文件

将默认生成的my.cnf备份

# mv /etc/my.cnf /etc/my.cnf.bak

[root@localhost support-files]# cp my-default.cnf /etc/my.cnf

初始化MysqL用户root的密码

先将MysqL服务停止

# service MysqLd stop

进入MysqL安装目录, 执行:

# cd /usr/local/MysqL

# ./bin/MysqLd_safe --skip-grant-tables --skip-networking&

[1] 6225

[root@localhost MysqL]# 151110 02:46:08 MysqLd_safe Logging to '/data/MysqL/data/localhost.localdomain.err'.

151110 02:46:08 MysqLd_safe Starting MysqLd daemon with databases from /data/MysqL/data


另外打开一个终端(p.s. 如果是ssh连接登录的,另外创建一个ssh连接即可), 执行操作如下:


# MysqL -u root MysqL

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Welcome to the MysqL monitor. Commands end with ; or \g.

Your MysqL connection id is 2

Server version: 5.7.13 MysqL Community Server (GPL)

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.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MysqL> use MysqL;

Database changed

MysqL> UPDATE user SET password=PASSWORD('123456') WHERE user='root';

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

MysqL> update user set authentication_string = PASSWORD('123456') where user = 'root';

Query OK,1 row affected,1 warning (0.02 sec)

Rows matched: 1 Changed: 1 Warnings: 1


MysqL> flush privileges;

Query OK,0 rows affected (0.00 sec)


MysqL> \s

MysqL Ver 14.14 Distrib 5.7.13,for linux-glibc2.5 (x86_64) using EditLine wrapper


Connection id: 62

Current database:

Current user: root@localhost

SSL: Not in use

Current pager: stdout

Using outfile: ''

Using delimiter: ;

Server version: 5.7.13-log MysqL Community Server (GPL)

Protocol version: 10

Connection: Localhost via UNIX socket

Server characterset: utf8

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8

UNIX socket: /data/AEData/MysqL/data/MysqL.sock

Uptime: 46 min 54 sec


Threads: 6 Questions: 6846 Slow queries: 0 Opens: 257 Flush tables: 1 Open tables: 201 Queries per second avg: 2.432

--------------


MysqL>

到此, 设置完MysqL用户root的密码且确保MysqL编码集是utf8,注意上面, 新版本的MysqL.user表里的密码字段是authentication_string


MysqL远程授权

格式如下:

MysqL> grant all [privileges] on db_name.table_name to 'username'@'host' identified by 'password';

示例如下:


MysqL> grant all privileges on *.* to 'root'@'%' identified by '123456';

Query OK,0 rows affected,1 warning (0.04 sec)


MysqL> FLUSH PRIVILEGES;

Query OK,0 rows affected (0.00 sec)

MysqL>

或用

MysqL> grant all on *.* to 'root'@'%' identified by '123456';


到此, 完成了MysqL的安装 及配置!!!


参考案例:http://blog.csdn.net/cryhelyxx/article/details/49757217

猜你在找的CentOS相关文章