linux下MySQL 5.7安装

开场白:

服务器经过扩容后重启,莫名其妙的mysql不能重启,查看后发现mysql被损坏,于是卸载重装

接手时情况:

mysql根目录(包已经解压完毕):/u01/iflytek/sgy/server/mysql-5.7

之前mysql数据位置:/u01/iflytek/data/mysql/data/

首先下载mysql :选择Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive下载即可

1.把下载完的文件上传到linux服务器,开始解压。

tar -xvzf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

2.解压改下名字,方便后续操作。我这里命名为mysql-5.7。

mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql

 linux下MySQL 5.7安装

3.新建用户组合用户。 (之前mysql用户已经存在,操作时省略了此处步骤)

groupadd mysql 

useradd -r -g mysql mysql

4.mysql根目录下新建data数据文件夹

mkdir /u01/iflytek/sgy/server/mysql-5.7/data

修改data权限

cd /u01/iflytek/sgy/server/mysql-5.7/data

chown -R mysql:mysql ./

5.进入mysql根目录

cd /u01/iflytek/sgy/server/mysql-5.7

6.初始化配置(初始化完毕后在命令行最后会提供生成好的随机密码,先拷贝下来,如此处为 TVlnsq.Pf0Ba

./bin/mysqld --initialize --user=mysql --basedir=/u01/iflytek/sgy/server/mysql-5.7 --datadir=/u01/iflytek/sgy/server/mysql-5.7/data

linux下MySQL 5.7安装

 7.mysql根目录下把除了data外的所有mysql文件的权限都设置为root

cd /u01/iflytek/sgy/server/mysql-5.7 chown -R root .

chown -R mysql data

 8.mysql根目录中新建了一个tmp文件夹,修改下权限

 chown -R mysql:mysql tmp

9.增加配置文件:/etc/my.cnf,内容如下

[mysqld]

basedir=/u01/iflytek/sgy/server/mysql-5.7

datadir=/u01/iflytek/sgy/server/mysql-5.7/data

socket=/u01/iflytek/sgy/server/mysql-5.7/tmp/mysql.sock

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[client]

socket=/u01/iflytek/sgy/server/mysql-5.7/tmp/mysql.sock

[mysqld_safe]

#log-error=/var/log/mariadb/mariadb.log

#pid-file=/var/run/mariadb/mariadb.pid

basedir=/u01/iflytek/sgy/server/mysql-5.7

datadir=/u01/iflytek/sgy/server/mysql-5.7/data

socket=/u01/iflytek/sgy/server/mysql-5.7/tmp/mysql.sock

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#

# include all files from the config directory

#

!includedir /etc/my.cnf.d

10.创建文件夹:

mkdir /etc/my.cnf.d/

11.启动mysql服务:输入bg 后台运行,

./bin/mysqld_safe&

linux下MySQL 5.7安装

12.然后再运行ps -ef|grep mysql检查可以看到mysql已经启动了 linux下MySQL 5.7安装

13.连接mysql    提示输入密码后连接成功(自动生成的随机密码)

./bin/mysql -uroot -p

  linux下MySQL 5.7安装

14.修改密码:刚才的密码只是初始自动生成的随机密码,我们在之后如果想要使用mysql的话还需要中心设置下密码,不然连远程访问都干不了,这里修改的是root的密码 

SET PASSWORD = PASSWORD('新密码');

flush privileges;

15.开启远程访问,分别输入:

use mysql; 

update user set host = '%' where user = 'root';

select host, user from user; 

linux下MySQL 5.7安装

16.退出mysql连接,quit,重启后生效

1)关闭mysql,输入密码后关闭

cd /u01/iflytek/sgy/server/mysql-5.7

./bin/mysqladmin -u root -p shutdown

2)启动mysql: ./bin/mysqld_safe&

17.尝试远程连接,mysql安装及访问完成

linux下MySQL 5.7安装


更改mysql数据库的存储路径

由于之前有data数据,新建的mysql更改mysql数据库的存储路径

由路径:/u01/iflytek/sgy/server/mysql-5.7/bin

改为新路径:/u01/iflytek/data/mysql/data/

1、停止掉mysql服务,输入密码后关闭

cd /u01/iflytek/sgy/server/mysql-5.7

./bin/mysqladmin -u root -p shutdown 

2、修改mysql配置文件,执行“vi /etc/my.cnf”命令并确定。(一般只需要修改datadir的路径即可)

修改配置文件中 所有datadir路径为新路径:

vi /etc/my.cnf

linux下MySQL 5.7安装

3、将新建的目录授权给mysql用户

chown -R mysql.mysql  /u01/iflytek/data/mysql

4、重启MySQL服务

此时关闭mysql会出现问题,提示密码不正确linux下MySQL 5.7安装

5、data下的server-uuid已经变更,之前的密码识别不了,

把原data目录下,/u01/iflytek/sgy/server/mysql-5.7/data/auto.cnf中的

server-uuid=d9245454-5aa0-11e9-b5ff-d00df7363ef3

复制到新的data目录下,/u01/iflytek/data/mysql/data/auto.cnf

6、关闭并重新启动mysql

7、测试连接,之前的数据库可测试成功