Linux系统指定目录下安装配置Mysql 5.7.15步骤图文详解

环境:centos 6.5、mysql 5.7.15 64位
(mysql下载地址:http://dev.mysql.com/downloads/mysql/)

CentOS7安装mysql5.5:https://blog.csdn.net/u012402177/article/details/82870433

MySQL 版本下載: https://downloads.mysql.com/archives/community/

1、下载安装包 :
在这里插入图片描述

在这里插入图片描述
2、下载之后,上传到服务器上要安装的目录中,或者是使用wget,但是由于文件过大(600M),所以我采用本地下载再上传。然后解压压缩文件,解压过程有点耗时,耐心等待。然后重命名为mysql,并且在mysql下面新建目录data,作为mysql的数据存储目录。本次安装,我在usr下新建了mylocal文件夹。

[root@ZhOu mylocal]# tar -xf mysql-5.7.15-linux-glibc2.5-x86_64.tar 
[root@ZhOu mylocal]# tar -zxf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz
[root@ZhOu mylocal]# mv mysql-5.7.15-linux-glibc2.5-x86_64 mysql
[root@ZhOu mylocal]# cd mysql
[root@ZhOu mysql]# mkdir data

在这里插入图片描述
3、创建mysql用户组,创建之后,可以查看是否创建成功

[root@ZhOu /]# groupadd mysql
[root@ZhOu /]# useradd -r -g mysql mysql
[root@ZhOu /]# cat /etc/group | grep mysql

在这里插入图片描述
4、赋权,更改所属的组和用户:

 [root@ZhOu mylocal]# chown -R mysql.mysql /usr/mylocal/mysql
 [root@ZhOu mylocal]# chown -R mysql.mysql /usr/mylocal/mysql/data
 [root@ZhOu mylocal]# chgrp -R mysql /usr/mylocal/mysql

5、进入mysql文件夹,复制support-files文件下的my-default.cnf和mysql.server,如下:

[root@ZhOu mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@ZhOu mysql]# cp support-files/mysql.server /etc/init.d/mysqld

6、编辑mysqld,修改为指定路径:

[root@ZhOu mysql]# vi /etc/init.d/mysqld 

在这里插入图片描述
7、把mysql路径添加到环境变量中,方便操作命令:

[root@ZhOu mysql]# vi /etc/profile

文件末尾添加export MYSQL=/usr/mylocal/mysql,path中加入:$MYSQL/bin: 。
在这里插入图片描述
8、使修改后的profile文件生效:

[root@ZhOu mysql]# source /etc/profile

9、执行数据库初始化操作,执行文件为mysql下bin文件夹中mysql_install_db,basedir为安装目录,datadir为数据文件目录。注:mysql_install_db在5.6版本中位于scripts文件夹,5.7已经取消该文件夹,合并到bin下。

[root@ZhOu bin]# ./mysql_install_db --basedir=/usr/mylocal/mysql  --user=mysql --datadir=/usr/mylocal/mysql/data

在这里插入图片描述
10、完成之后,启动mysql服务:

[root@ZhOu bin]# service mysqld start

在这里插入图片描述
此时已经可以启动服务,但整个工程只算完成了一半。
注意:新版的可能会报错,因为mysqld_safe的原因,旧版本安装的时候没有报错,只需要把mysqld_safe中的默认路径修改为自己的目标路径,再执行就可以了。
在这里插入图片描述

11、修改密码:首先关闭服务,把mysql/bin/mysqld_safe中usr/local/mysql换成指定安装的路径名,然后执行下面代码。

[root@ZhOu bin]# service mysqld stop
[root@ZhOu bin]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

在这里插入图片描述
此时已经进入免过滤状态,开始修改root密码。注:5.6版本user表中密码字段是password,5.7之后改为authentication_string,不再有password。

[root@ZhOu bin]# mysql
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD('root') where user='root';
mysql> flush privileges;
mysql> exit;

在这里插入图片描述
12、此时,密码已经修改完成。退出重新登录,本以为搞定了,但是创建数据库,却报错了,错误是:ERROR 1820 (HY000): You must reset your password using ALTER USER statement。原来第一登录,还要再次设置密码,无语!修改之后,创建成功。

mysql> alter user 'root'@'localhost' identified by 'root';
mysql> flush privileges;
mysql> exit;

在这里插入图片描述
使用 SET PASSWORD = PASSWORD(‘root’)来修改密码也是可以的。

13、工程完成一大半了,此时如果远程连接登录,会报错误的。如下:
在这里插入图片描述
下面修改远程连接权限,很简单,只需要修改user表中root用户的host就可以了。改完之后,记得重启一下服务,再次远程连接,搞定!

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

在这里插入图片描述
在这里插入图片描述
14、设置mysql开机自启动:

[root@ZhOu ~]# chkconfig mysqld on

15、测试了一下功能,都没什么问题。使用mysqldump的时候,却有点小意外。

[root@ZhOu /]# mysqldump -uroot -proot mysql > mysql.dump
mysqldump: [Warning] Using a password on the command line interface can be insecure.

找了一下原因,设置一下etc/my.cnf即可。如下:

[root@ZhOu /]# vi etc/my.cnf 

在这里插入图片描述
保存之后,运行如下代码,一切OK!

[root@ZhOu /]# mysqldump  mysql > mysql.dump

这一步之后有可能会出现

在linux服务器执行mysql或者mysqldump指令时报如下错误

-bash: mysql: command not found

-bash: mysqldump: command not found

原因:

这是由于系统默认会查找/usr/bin下的命令。

如果这个命令不在这个目录下,当然会找不到命令。

我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

解决办法:

1、查看mysql的安装路径

[autotest@vm-kvm18121-app ~]$ whereis mysql
mysql:  /usr/lib64/mysql /usr/local/mysql /usr/share/mysql

备注:/usr/local/mysql是mysql的安装路径

 
2、设置软链接(mysql的安装路径可能有所不同,需要修改, 主要查找的是mysqldump、mysql所在的路径)

[autotest@vm-kvm18121-app ~]$ ln -fs /usr/local/mysql/bin/mysqldump /usr/bin

[autotest@vm-kvm18121-app ~]$ ln -fs /usr/local/mysql/bin/mysql /usr/bin

然后再执行mysqldump mysql > mysql.dump就不会出现错误了
在这里插入图片描述
16、设置编码:
由于是免安装,字符集是默认的latin1,所以就需要动手设置一下了。首先看下一编码:

mysql> show variables like '%character%'

就可以看到当前系统的编码。然后手工设置一下就行了,打开etc/my.cnf,在[mysqld]下面添加以下两行代码就行了。

character_set_server = utf8
collation_server = utf8_general_ci

在这里插入图片描述
————————————————
版权声明:本文为CSDN博主「a_bang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a_bang/article/details/52465110

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值