专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
InfoQ架构头条  ·  “天价”ERP ... ·  昨天  
51好读  ›  专栏  ›  马哥Linux运维

64位CentOS6安装MySQL-5.7.13-linux-glibc2.5-x86_64.tar.gz

马哥Linux运维  · 公众号  · 运维  · 2017-04-22 08:14

正文

作者:云上之山

来源:http://blog.csdn.net/nengyu/article/details/51615836

1.从官网下载 mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz

官网地址:http://dev.mysql.com/downloads/mysql/


我是下到了windows本地,然后通过winscp工具上传到centos6服务器上,我一般喜欢给文件赋权限,chmod a+x mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz,但是我看有的程序员不做这一步也是可以的。

2. 创建mysql的用户组/用户, data目录及其用户目录

# groupadd mysql
# useradd -g mysql -d /opt/my/mysql mysql
# mkdir /opt/my/mysql/data

3. 解压安装包并将解压包里的内容拷贝到mysql的安装目录/home/mysql

# tar -xzvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz
# mv mysql-5.7.9-linux-glibc2.5-x86_64 mysql

4. 初始化mysql数据库

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

# ./bin/mysqld --user=mysql --basedir=/opt/my/mysql --datadir=/opt/my/mysql/data --initialize

改用 mysqld --initialize 后,如果 datadir 指向的目标目录下已经有数据文件, 会出现如下提示:


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


改用 mysqld --initialize 后,如果 datadir 指向的目标目录下已经有数据文件, 会出现如下提示:


# cd /opt/my/mysql/data
# rm -fr *

然后重新执行初始化命令如下:


牢记上面的随机密码, 如上“, 下面我们修改密码时需要用到。


5. 检测下是否能启动mysql服务

# cd /home/mysql
# ./support-files/mysql.server start
Starting MySQL.. SUCCESS! 

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


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


6. 创建软链接

# ln -s /opt/my/mysql/bin/mysql /usr/bin/mysql

7. 创建配置文件

将默认生成的my.cnf备份

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

进入mysql的安装目录支持文件目录

# cd /opt/my/mysql/support-files

拷贝配置文件模板为新的mysql配置文件,

# cp my-default.cnf /etc/my.cnf

可按需修改新的配置文件选项, 不修改配置选项, mysql则按默认配置参数运行. 
如下是我修改配置文件/etc/my.cnf, 设置编码为utf8以防乱码

# vim /etc/my.cnf

[mysqld]

basedir = /opt/my/mysql
datadir = /home/mysql/data

character_set_server=utf8
init_connect='SET NAMES utf8'


[client]
default-character-set=utf8

8. 配置mysql服务开机自动启动

拷贝启动文件到/etc/init.d/下并重命令为mysqld

# cp /opt/my/mysql/support-files/mysql.server /etc/init.d/mysqld

增加执行权限

# chmod 755 /etc/init.d/mysqld

检查自启动项列表中没有mysqld这个,如果没有就添加mysqld

# chkconfig --list mysqld
# chkconfig --add mysqld

设置MySQL在345等级自动启动

# chkconfig --level 345 mysqld on

或用这个命令设置开机启动:

# chkconfig mysqld on

9. mysql服务的启动/重启/停止

启动mysql服务

# service mysqld start

重启mysql服务

# service mysqld restart

停止mysql服务

# service mysqld stop

10. 初始化mysql用户root的密码

先将mysql服务停止

# service mysqld stop

进入mysql安装目录, 执行:


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


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

快捷键ctrl + c停止# ./bin/mysqld_safe ...命令, 重新启动mysql服务, 用新密码连接mysql:

咦?又要我改密码, 我们通过mysqladmin来修改密码, 先输入原密码, 再设置新密码, 总算可以了吧!!!

或直接:



其中, **mjT,#x_5sW就是我们在使用mysqld --initialize时牢记下的随机密码

11. mysql远程授权

格式如下:


示例如下:


或用


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

我自己用的下面这种:

安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个

step 1: SET PASSWORD = PASSWORD(‘your new password‘);

step 2: ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;

step 3: flush privileges;

完成以上三步退出再登,使用新设置的密码就行了,以上除了红色的自己修改成新密码外,其他原样输入即可。


————金三银四课程特惠————

马哥教育精英线下Linux班郑州校区开班倒计时,优惠四重享,赠送高达4000元的学习大礼包:

第一重:4月30日前报名,立减400元,名额有限抢完为止;

第二重:4月30日前报名,赠送马哥教育内部Linux知识精讲教材一本(价值666元);

第三重:4月30日前报名,赠送马哥教育实体服务器使用资格(价值1666元);

第四重:4月30日前报名,赠送马哥教育云学堂学习权限1个(价值1999元);


课程详情,请咨询学习顾问:


马哥教育一号女神,温柔可人,最懂IT男

豌豆

Linux面授班,报名优惠400元,名额有限,抢完为止!