一.检查系统是否有自带安装MySQL

1.检查

[root@centos ~]# rpm -qa | grep -i mysql
mysql-libs-5.1.71-1.el6.x86_64

2.卸载

[root@centos ~]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
[root@centos ~]# rpm -qa | grep -i mysql
rpm -e --noscripts MySQL-client-5.5.25a-1.rhel5
rm -fr 删除文件

二、解压及重命名

[root@centos ~]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /data/
[root@centos ~]# mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql-5.7.17

三、建立用户和用户组给mysql赋权限

1.建立用户mysql,组mysql。后面mysql就使用这个用户来运行(注意这也是mysql启动脚本中默认的用户,因此最好不要改名)。

[root@centos mysql-5.7.17]# groupadd mysql
[root@centos mysql-5.7.17]# useradd -r -g mysql mysql

 (使用-r参数表示mysql用户是一个系统用户,不能登录) 

2.手动创建MySQL data目录

[root@centos data]# mkdir /data/mysql-5.7/data

3.目录权限设置

将mysql及其下所有的目录所有者和组均设为mysql:

[root@centos mysql-5.7]# chown -R mysql:mysql /data/mysql-5.7/
[root@centos mysql-5.7]# chmod -R 755 /data/mysql-5.7./

四、数据库初始化

[root@centos bin]# ./mysqld --initialize --user=mysql --datadir=/data/mysql-5.7/data --basedir=/data/mysql-5.7

  初始化完成记录下初始密码,登录数据库要用到

root@localhost: TsYB;K9rwrK6

五、配置

  将mysql/support-files下的my-default.cnf改名为my.cnf,拷到/etc下(或者考到{mysql}下,然后作一个软链接到/etc下):

[root@centos support-files]# cp /data/mysql-5.7.17/support-files/my-default.cnf /etc/my.cnf

  修改/etc/my.cnf中关键配置:

[root@centos support-files]# vim /etc/my.cnf
[mysqld]
basedir = /data/mysql-5.7.17
datadir = /data/mysql-5.7.17/data
port = 3306
socket = /data/mysql-5.7.17/tmp/mysql.sock

  注意,tmp目录不存在,请创建之。

[root@centos data]# mkdir /data/mysql-5.7.17/tmp

  六、运行

  1.运行之前重新给MySQL目录赋予权限

[root@centos mysql-5.7.17]# chown -R mysql:mysql /data/mysql-5.7/
[root@centos data]# chmod -R 755 /data/mysql-5.7.17/

  2.运行服务器程序

[root@centos bin]# ./mysqld_safe &

  

注:在这个启动脚本里已默认设置--user=mysql;在脚本末尾加&表示设置此进程为后台进程,区别就是在控制台输入bg,即可将当前进程转入后台,当前shell可进行其他操作。

可能会报错:

2017-10-11T13:04:21.482778Z mysqld_safe Logging to '/data/mysql-5.7/data/centos.xd.err'.
2017-10-11T13:04:21.485731Z mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information

说明:mysqld_safe启动脚本默认的从/usr/local/mysql目录中读取另外一个启动脚本mysqld,因为我的安装目录为/data/mysql-5.17/bin/mysqld,所以找不到相关文件。
解决方法:

[root@centos mysql-5.7]# mkdir -p /usr/local/mysql/bin/
[root@centos mysql-5.7]# ln -s /data/mysql-5.7/bin/mysqld /usr/local/mysql/bin/

3、设置mysql以服务运行

将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限

[root@centos data]# cp /data/mysql-5.7/support-files/mysql.server /etc/init.d/mysql
[root@centos data]#chmod +x /etc/init.d/mysql

4.启动mysql

[root@centos data]# /etc/init.d/mysql start

  

可能会出现错误:
1:Starting MySQL.Logging to ‘/data/mysqldata/localhost.localdomain.err’.
ERROR! The server quit without updating PID file (/data/mysqldata/localhost.localdomain.pid).
bin/mysqld –initialize –user=mysql 是关键,再重新安装下

[root@centos mysql-5.7]# /etc/init.d/mysql start
Starting MySQL. SUCCESS!

5.连接数据库

[root@centos ~]# mysql -uroot -p

  

可能会出现错误:
1:-bash: mysql: command not found
将mysql/bin/mysql命令 链接到usr/bin/mysql x

[root@centos ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

2:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
则需要在在my.cnf中填加:
[client]
socket = /data/mysql-5.7/tmp/mysql.sock

如果不行则使用软链接:

[root@centos tmp]# ln -s /data/mysql-5.7/tmp/mysql.sock /tmp/mysql.sock

启动成功

[root@centos mysql-5.7]# mysql -uroot -p
Enter password: 输入初始化数据库时记录的密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 MySQL Community Server (GPL)

设置root用户密码

mysql> set password=password('123456');
Query OK, 0 rows affected, 1 warning (0.03 sec)

给root账户赋予全部权限

mysql> grant all privileges on *.* to root@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

刷新

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

退出mysql

mysql> exit;
Bye

  把mysql注册为开机启动的服务

#chkconfig --add mysql
使用范例:
chkconfig --list #列出所有的系统服务
chkconfig --add httpd #增加httpd服务
chkconfig --del httpd #删除httpd服务
chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig --list #列出系统所有的服务启动情况
chkconfig --list mysqld #列出mysqld服务设置情况
chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级 如何增加一个服务:
1.服务脚本必须存放在/etc/ini.d/目录下;
2.chkconfig --add servicename
在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;
3.chkconfig --level 35 mysqld on
修改服务的默认启动等级。

  mysql服务的开启和关闭:

[root@centos mysql-5.7]# /etc/init.d/mysql start
[root@centos mysql-5.7]# /etc/init.d/mysql stop
或:
[root@centos mysql-5.7]# service mysql stop
Shutting down MySQL.. SUCCESS!
[root@centos mysql-5.7]# service mysql start
Starting MySQL. SUCCESS!

  查看MySQL的安装目录

[root@centos mysql-5.7]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/local/mysql /usr/share/mysql

  查看Mysql的运行目录

[root@centos mysql-5.7]# which mysql
/usr/bin/mysql

  忘记root密码

# mysqld_safe --skip-grant-tables &

为了安全可以这样禁止远程连接:
# mysqld_safe --skip-grant-tables --skip-networking & 使用mysql连接server:
# mysql -p 更改密码:
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'; mysql> flush privileges;
mysql> quit; 修改完毕。重启
# service mysql restart 登录MySQL
mysql> set password for 'root'@'localhost'=password('123456');

  

Linux安装mysql-5.7.17的更多相关文章

  1. linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题]

    linux安装mysql全纪录[包括yum和rpm安装,编码,远程连接以及大小写问题] 一.查看mysql是否已经安装 使用“whereis mysql”命令来查看mysql安装路径: [root@h ...

  2. linux安装mysql后root无法登录 sql 无法登录

    linux安装mysql后root无法登录 问题:[root@localhost mysql]# mysql -u root -pEnter password: ERROR 1045 (28000): ...

  3. linux安装mysql~~~mysql5.6.12

    Linux安装mysql服务器 准备: MySQL-client-5.6.12-1.rhel5.i386.rpm MySQL-server-5.6.12-1.rhel5.i386.rpm 首先检查环境 ...

  4. linux安装mysql服务分两种安装方法:

    linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度 ...

  5. linux安装MySQL后输入mysql显示 ERROR 2002 (HY000): Can't connect to local MySQL server through socket

    我是小白,大佬勿喷 *** linux安装MySQL后输入mysql显示 ERROR 2002 (HY000): Can't connect to local MySQL server through ...

  6. Linux 安装Mysql(图文教程)

    原文:Linux 安装Mysql(图文教程) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net ...

  7. Linux 安装 MySQL 8 数据库(图文详细教程)

    本教程手把手教你如何在 Linux 安装 MySQL 数据库,以 CentOS 7为例. 1. 下载并安装 MySQL 官方的 Yum Repository wget -i -c https://re ...

  8. Linux 安装 mysql 转 http://www.cnblogs.com/fnlingnzb-learner/p/5830622.html

    到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (g ...

  9. Linux安装MySQL全过程

    操作系统:CentOS 7.2  64位 mySQL版本:mysql-5.6.35 安装过程: (1)首先从mysql官网下载 MySQL Community Server 安装包. 选择对应的版本( ...

  10. Linux安装mysql.8.0.12

    1. linux安装mysql8.0.12,亲测可用. 以下是安装过程中出现的问题: 1 [root@localtest1 file]# systemctl start mysqld 2 Job fo ...

随机推荐

  1. WCF(三)分布式事务

    最近在学WCF,所以有两个设想疑问(菜鸟多疑问): 如果有WCF服务A,WCF服务B,客户端调用WCF服务A插入一条数据,然后再调用服务B也插入一条数据,然而服务B出错了进行了回滚,服务A能不能也进行 ...

  2. 汇编指令-位置无关码(BL)与绝对位置码(LDR)(2)

    位置无关码,即该段代码无论放在内存的哪个地址,都能正确运行.究其原因,是因为代码里没有使用绝对地址,都是相对地址.  位置相关码,即它的地址与代码处于的位置相关,是绝对地址 BL :带链接分支跳转指令 ...

  3. 别只用hive写sql -- hive的更多技能

    hive是Apache的一个顶级项目,由facebook团队开发,基于java开发出面向分析师或BI等人员的数据工具(常用作出具仓库),它将文件系统映射为表,使用SQL实现mapreduce任务完成分 ...

  4. JavaScript中你所不知道的Object(二)--Function篇

    上一篇(JavaScript中你所不知道的Object(一))说到,Object对象有大量的内部属性,而其中多数和外部属性的操作有关.最后留了个悬念,就是Boolean.Date.Number.Str ...

  5. 软工+C(2017第8期) 提问与回复

    // 上一篇:野生程序员 // 下一篇:助教指南 在线上博客教学里引入了第三方助教,助教在每次作业期间尽力完成"消灭零点评"的目标.然而紧接而来的问题是:学生对博客作业点评的回复率 ...

  6. 【Beta阶段】测试与发布

    [Beta阶段]测试报告 一.Bug记录 1. 已经修复的BUG:文件查重的小组的空指针处理了 . 2.未能修复的bug: (1).在进行查重的时候必要要有10个文件,不然会报错:        (2 ...

  7. 201521123105《jave程序》第二周学习总结

    1. 本周学习总结 学习了各种java数据类型以及各种运算符的使用 学习了一维,二维数组的用法 学习了String类对象使用 2. 书面作业 使用Eclipse关联jdk源代码,并查看String对象 ...

  8. 201521123073 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  9. 201521123121 《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 进程:每个进程都有独立的代码和数据空间,进程间的切换会有较大的开销,一个进程包含1--n个线程. 线程:同一 ...

  10. PKI信息安全知识点详细解答包含HTTPS

    1. 什么是X.509? X.509标准是ITU-T设计的PKI标准,他是为了解决X.500目录中的身份鉴别和访问控制问题设计的. 2. 数字证书 数字证书的意义在于回答公钥属于谁的问题,以帮助用户安 ...