centos7 源码安装mysql5.6「建议收藏」

centos7 源码安装mysql5.6「建议收藏」这篇博客的主要内容是在CentOS7服务器上搭建一个MySQL5.6版本的数据库服务。 1、我的当前环境: [root@local-test ~]# cat /proc/cpuinfo |grep …

centos7 源码安装mysql5.6

这篇博客的主要内容是在CentOS7服务器上搭建一个MySQL5.6版本的数据库服务。

1、我的当前环境:

    [root@local-test ~]# cat /proc/cpuinfo |grep "physical id"|wc -l
    2
    [root@local-test ~]# free -h
                          total        used        free      shared  buff/cache   available
    Mem:           2.8G        127M        2.4G        9.5M        191M        2.5G
    Swap:          2.0G          0B        2.0G
    [root@local-test ~]# uname -sr
    Linux 3.10.0-1062.el7.x86_64

2、创建mysql服务的相关目录和用户

a.创建安装目录:

    [root@local-test ~]# mkdir /opt/mysql

b.创建数据目录:

    [root@local-test ~]# mkdir /data/mysql/data -p

c.添加mysql用户

    [root@local-test ~]# useradd mysql -M -s /sbin/nologin        #-M:不创建家目录,-s /sbin/nologin :不允许该登录

3、下载MySQL安装包

下载MySQL-5.6.47版本:官网下载地址:https://dev.mysql.com/downloads/mysql/

    [root@local-test ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz

4、安装MySQL:

a.解压:

    [root@local-test ~]# tar xf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql/

b.重命名目录:

    [root@local-test ~]# cd /opt/mysql/
    [root@local-test mysql]# mv mysql-5.6.47-linux-glibc2.12-x86_64/* .
    [root@local-test mysql]# rm -rf mysql-5.6.47-linux-glibc2.12-x86_64/
    [root@local-test mysql]# ls
    bin  data  docs  include  lib  LICENSE  man  mysql-test  README  scripts  share  sql-bench  support-files

c.安装mysql:把安装目录和数据目录授权给mysql用户

    [root@local-test mysql]# chown -R mysql.mysql /opt/mysql/ /data/mysql/data/
    [root@local-test mysql]# ./scripts/mysql_install_db --basedir=/opt/mysql/ --datadir=/data/mysql/data/ --user=mysql
    FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
    Data::Dumper

出现这种问题很容易解决,仔细看错误信息可以知道,我们需要安装perl相关模块才能执行这个初始化脚本:

    [root@local-test mysql]# yum install perl-devel autoconf -y

安装完成之后再次执行初始化命令:

    [root@local-test mysql]# ./scripts/mysql_install_db --basedir=/opt/mysql/ --datadir=/data/mysql/data/ --user=mysql

返回信息如下:限于篇幅,此处不在粘贴,主要注意看是否出现两个OK

   ......

    OK

    ......

    OK
    
    ......
    此时说明你的mysql服务已经成功的安装到服务器上了,但是为了生产安全我们需要做一些基本的优化如下:

5、新安装MySQL基础优化:

a. my.cnf文件参数设置:

    [root@local-test mysql]# vim /etc/my.cnf
[mysqld]
#基础信息
basedir=/opt/mysql
datadir=/data/mysql/data
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
port=3306
lower_case_table_names=1
server_id=1
#连接MySQL服务器时使用的字符编码设置
init_connect="SET collation_connection = utf8mb4_unicode_ci"
init_connect="SET NAMES utf8mb4"
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake

[client]
#clinet的信息要与[mysqld]中的信息保持一致,特别注意socket的位置
port = 3306
socket = /var/lib/mysql/mysql.sock
default_character_set=utf8mb4

[mysqld_safe]
log-error=/var/log/mysql/mysql.log
pid-file=/var/lib/mysql/mysql.pid

[mysql]
default_character_set=utf8mb4


b. 启动脚本优化:
二进制包安装的mysql的启动脚本默认是在/opt/mysql/support-files目录下的mysql.server文件,我一般会把它放到/etc/init.d/下使用chkconfig管理,CentOS7一样适用。

    [root@local-test support-files]# cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
    [root@local-test support-files]# chkconfig --add mysqld
    [root@local-test support-files]# chkconfig --list |grep mysqld
    
    mysqld         	0:off	1:off    	2:on	    3:on	4:on	5:on	    6:off

c.启动MySQL服务

    [root@local-test support-files]# /etc/init.d/mysqld start
    Starting MySQL.Logging to "/var/log/mysql/mysql.log".
    200228 03:45:07 mysqld_safe Directory "/var/lib/mysql" for UNIX socket file don"t exists. ERROR! The server quit without updating PID file (/data/mysql/data/local-test.pid). 

这个错误提示我们没有/var/log/mysql这个目录,所以需要新建一个,注意别忘了授权!

    [root@local-test support-files]# mkdir /var/lib/mysql
    [root@local-test support-files]# chown -R mysql.mysql /var/lib/mysql/

再次启动

    [root@local-test support-files]# /etc/init.d/mysqld start 
    Starting MySQL.Logging to "/var/log/mysql/mysql.log".
    .... SUCCESS!
    [root@local-test support-files]#

d.登陆mysql

    [root@local-test support-files]# mysql
    -bash: mysql: command not found                    #/opt/mysql不在path搜索路径里
    [root@local-test support-files]# ln -s /opt/mysql/bin/* /usr/bin/
    [root@local-test support-files]# mysql
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.6.47 MySQL Community Server (GPL)

    Copyright (c) 2000, 2020, 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>

e.设置mysql管理员初始密码:

mysql>use mysql;
mysql> update user set password=password("root") where user="root";
mysql> flush privileges;
mysql> exit;      
 

#service mysql restart

密码生效;

再次登陆就要使用密码了!

    [root@local-test support-files]# mysql -uroot -p
远程连接mysql、Navicat等工具连接的时候、就是远程连接、而不是登陆的账号密码了。

若远程连接账号密码都是对的、但是连接不上、可能就是防火墙没有添加3306端口、添加上就OK了

配置:

登陆mysql   

mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO "myuser"@"%" IDENTIFIED BY "mypassword" WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit;      

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6784.html

(0)
上一篇 2023-04-03 20:00
下一篇 2023-04-04

相关推荐

  • Centos Cloudera Manager 6.3.0和CDH 6.3.2 安装

    Centos Cloudera Manager 6.3.0和CDH 6.3.2 安装前言 闲暇之时,羚羊给大家分享一下羚羊在Centos7 下安装Cloudera Manager 6.3.0和cloudera cdh 6.3.2的过程和安装过程中遇到的坑。至于为什么要选择C

    2023-03-17
    144
  • SQLZOO练习7-[通俗易懂]

    SQLZOO练习7-[通俗易懂]teacher表: iddeptnamephonemobile 101 1 Shrivell 2753 07986 555 1234 102 1 Throd 2754 07122 555 1920 1

    2023-05-19
    147
  • 用正则表达式在python中匹配和提取文本信息

    用正则表达式在python中匹配和提取文本信息正则表达式是一种用来描述字符串模式的工具。在Python中,使用re模块提供的函数和方法来进行正则表达式匹配和处理。

    2024-03-13
    94
  • 字符串输入的中心

    字符串输入的中心字符串(strings)是计算机科学中一种非常基本的数据类型,它是由字符序列组成的,常用于表示文本。字符串输入是指从用户获取键盘输入的文本数据。在编程中,读取字符串输入的能力是非常常用、基本的技能之一。

    2024-06-13
    43
  • 如何干涉MySQL优化器使用hash join[亲测有效]

    如何干涉MySQL优化器使用hash join[亲测有效]GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 前言 实验 总结 前言 数据库的优化器相当于人类的大

    2023-06-05
    136
  • Postgresql 两个Geometry的关系判断

    Postgresql 两个Geometry的关系判断参考文章:postgresql 空间函数集合 关系判断SQL 这里用两个完全一样的Geometry做测试。 /**1.获取两个几何对象间的距离 ST_Distance(geometry, geome…

    2023-01-27
    168
  • 基于iPython和Python的数据分析实践

    基于iPython和Python的数据分析实践在当今大数据时代,数据分析已成为企业决策的重要工具。iPython和Python是数据分析领域中应用较为广泛的工具,iPython是一个交互式的Python解释器,它的Notebook功能可以让用户将代码、数据以及文档结合在一起,使得数据分析更加直观,而Python由于其简洁易学以及丰富的数据分析库在数据分析领域中得到广泛应用。

    2024-06-04
    63
  • 使用conda删除虚拟环境的方法

    使用conda删除虚拟环境的方法在使用Python进行开发时,我们经常需要创建虚拟环境来避免不同项目之间的依赖冲突。当我们不再需要某个虚拟环境时,我们需要及时地将其删除来释放空间及避免混淆。本文将介绍如何使用conda来删除一个虚拟环境。

    2024-04-22
    60

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注