mysql 5.74安装教程_MySQL安装、基本账户安全(5.0以后版本)

-----------MySQL 5.0以后版本的安装-----------

MySQL安装

安装包学习的必杀绝技——就是阅读包的安装说明(readme & install)文档。

----------

# rm /etc/my.cnf            (安装前执行一下)

----------

1.Mysql-5.0.40.tar.gz

1.1.Source Installation Overview(lines 74 of install-source)

系统默认可能会安装三个mysql的包:

mysql-libs

mysql

mysql-devel

从下往上依赖关系。

源码包安装mysql检查环境

Shell> rpm -aq | grep mysql

Shell> rpm -ql mysql

Shell> rpm -qf /etc/my.conf

Shell> rpm -qc mysql-libs

Shell> rpm -qR mysql-libs

Shell> rpm -qd mysql

Shell> rpm -qi mysql

Shell> netstat -nlt

Shell> find / -name mysql

Shell> find / -name my.conf

Shell> cat /etc/passwd | grep mysql

Shell> cat /etc/group |

Shell> rpm -qa | grep gcc

Shell> rpm -qa | grep make

Shell> ls /home

添加用户

Shell> groupadd -r mysql

Shell> useradd -g mysql -M -r -s /sbin/nologin mysql

开始安装

Shell> vi INSTALL-SOURCE

Shell> ./configure --prefix=/usr/local/mysql

Shell> echo $?

Shell> make

Shell> echo $?

Shell> make install

Shell> echo $?

配置文件

Shell> cp support-files/my-medium.cnf /etc/my.conf

目录权限

Shell> cd /usr/local/mysql

Shell> chown -R mysql .

Shell> chgrp -R mysql .

初始化数据库

Shell> bin/mysql_install_db --user=mysql

开机启动

Shell> cp /support-files/mysql.server /etc/init.d/mysqld

Shell> chmod 755 /etc/init.d/mysqld

安全启动服务/把数据库的数据文件定义到其他磁盘设备上

Shell> bin/mysqld_safe --user=mysql --datadir=/dell/mysql_data

1.2.Typical‘configure’Options(lines 265 of  install-source)

配置Shell> ./configure --help

Shell> ./configure -h

仅仅编译客户端程序

Shell> ./configure --without-server

默认安装的目录/usr/local(数据目录/usr/local/var)。可以改写为:

Shell> ./configure --prefix=/usr/local/mysql

Shell> ./configure --prefix=/usr/local/ --localstatedir=/usr/local/mysql/data

使用unix的套接字方式连接数据库:

Shell> ./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

有gcc,没有c++库,可以使用gcc来作为c++的编译器:

Shell> CC=gcc CXX=gcc ./configure

Shell> ./configure --with-charset=gb2312

Shell> ./configure --with-charset=utf8

Shell> ./configure --with-charset=latin1(这个是默认值)

Shell> ./configure --with-collation=latin1_swedish_ci(这个是排序方法的默认值)

Shell> ./configure --with-extra-charsets=(空格分开)

Shell> ./configure --with-extra-charsets=all

重新编译一个源码树时:

Shell> rm config.cache

Shell> make clean

Shell> make dist

_____________

Mysql-5.1.72.tar.gz

安装方法跟上边的大同小异。

_____________

2.Mysql-5.5.22.tar.gz

2.1.Installing MySQL from Generic Binaries on Unix/Linux

系统默认可能会安装三个mysql的包:

mysql-libs

mysql

mysql-devel

从下往上依赖关系。

二进制文件安装mysql检查环境

Shell> rpm -aq | grep mysql

Shell> rpm -ql mysql

Shell> rpm -qf /etc/my.conf

Shell> rpm -qc mysql-libs

Shell> rpm -qR mysql-libs

Shell> rpm -qd mysql

Shell> rpm -qi mysql

Shell> netstat -nlt

Shell> find / -name mysql

Shell> find / -name my.conf

Shell> cat /etc/passwd | grep mysql

Shell> cat /etc/group |

Shell> rpm -qa | grep gcc

Shell> rpm -qa | grep make

Shell> ls /home

添加用户

Shell> groupadd mysql

Shell> useradd -r -g mysql -M -s /sbin/nologin mysql

开始安装

Shell> cd /usr/local

Shell> tar -zxvf ……

Shell> cd mysql

Shell> chown -R mysql .

Shell> chgrp -R mysql .

初始化数据库

Shell> scripts/mysql_install_db --user=mysql

Shell> chown -R root .

Shell> chown -R mysql data

配置操作

Shell> cp support-files/my-medium.cnf  /etc/my.cnf

Shell> cp support-files/mysql.server  /etc/init.d/mysqld

Shell> chmod 755 /etc/init.d/mysqld

启动服务

Shell> bin/mysqld_safe --user=mysql --datadir=/dell/mysql_data

2.2.Installing MySQL from Source

源码包安装mysql检查环境

Shell> rpm -aq | grep mysql

Shell> rpm -ql mysql

Shell> rpm -qf /etc/my.conf

Shell> rpm -qc mysql-libs

Shell> rpm -qR mysql-libs

Shell> rpm -qd mysql

Shell> rpm -qi mysql

Shell> netstat -nlt

Shell> find / -name mysql

Shell> find / -name my.conf

Shell> cat /etc/passwd | grep mysql

Shell> cat /etc/group |

Shell> rpm -qa | grep gcc

Shell> rpm -qa | grep make

Shell> ls /home

添加用户

Shell> groupadd mysql

Shell> useradd -r -g mysql -M -s /sbin/nologin mysql

配置、编译

Shell> ccmake .(先进行交互式配置)

Shell> cmake .

Shell> make

Shell> make install

Shell> cd /usr/local/mysql

Shell> chown -R mysql .

Shell> chgrp -R mysql .

初始化数据库

Shell> scripts/mysql_install_db --user=mysql

Shell> chown -R root .

Shell> chown -R mysql data

Shell> cp support-files/my-medium.cnf  /etc/my.cnf

Shell> cp support-files/mysql.server  /etc/init.d/mysqld

Shell> chmod 755 /etc/rc.d/init.d/mysqld

启动服务

Shell> bin/mysqld_safe --user=mysql --datadir=/dell/mysql_data

2.3.To list the configuration options,use one of the following.

Shell> cmake . -L# overview

Shell> cmake . -LH# overview with help text

Shell> cmake . -LAH# all params with help text

Shell> ccmake .# interactive display

Shell> make clean

Shell> rm CMakeCache.txt

2.4.rpmTo see all files in an RPM packet,run a command like this:

Shell> rpm -qpl MySQL-server-VERSION.glibc23.i386.rpm

Shell> rpm -ivh MySQL-server-VERSION.glibc23.i386.rpm

Shell> rpm -ivh MySQL-client-VERSION.glibc23.i386.rpm

Start from a source RPM,run:

Shell> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm

2.5.安装Cmake-2.8.12.tar.gzShell> vi Readme.txt

Shell> ./bootstrap

Shell> make

Shell> make install

3.Mysql-5.5.34.tar.gz

3.1. Installing MySQL on Unix/Linux Using Generic Binaries

二进制包安装mysql检查当前环境配置

Shell> rpm -aq | grep mysql

Shell> rpm -ql mysql

Shell> rpm -qf /etc/my.conf

Shell> rpm -qc mysql-libs

Shell> rpm -qR mysql-libs

Shell> rpm -qd mysql

Shell> rpm -qi mysql

Shell> netstat -nlt

Shell> find / -name mysql

Shell> find / -name my.conf

Shell> cat /etc/passwd | grep mysql

Shell> cat /etc/group |

Shell> rpm -qa | grep gcc

Shell> rpm -qa | grep make

添加用户

Shell> groupadd mysql

Shell> useradd -r -g mysql -M -s /sbin/nologin mysql

Shell> cd /usr/local

开始安装

Shell> tar -zxvf ……

Shell> cd mysql

设定目录权限

Shell> chown -R mysql .

Shell> chgrp -R mysql .

初始化数据库

Shell> scripts/mysql_install_db --user=mysql

设定库文件目录权限

Shell> chown -R root .

Shell> chown -R mysql data

添加配置文件

Shell> cp support-files/my-medium.cnf /etc/my.cnf

Shell> cp support-files/mysql.server /etc/init.d/mysqld

Shell> chmod 755 /etc/init.d/mysqld

启动服务

Shell> bin/mysqld_safe --user=mysql --datadir=/dell/mysql_data

3.2.Installing MySQL Using a Standard Source Distribution

源码包安装mysqlShell> rpm -aq | grep mysql

Shell> rpm -ql mysql

Shell> rpm -qf /etc/my.conf

Shell> rpm -qc mysql-libs

Shell> rpm -qR mysql-libs

Shell> rpm -qd mysql

Shell> rpm -qi mysql

Shell> netstat -nlt

Shell> find / -name mysql

Shell> find / -name my.conf

Shell> cat /etc/passwd | grep mysql

Shell> cat /etc/group |

Shell> rpm -qa | grep gcc

Shell> rpm -qa | grep make

Shell> ls /home

Shell> groupadd mysql

Shell> useradd -r -g mysql -M -s /sbin/nologin mysql

Shell> cd mysql

Shell> ccmake .(没有这一步也过去了)

Shell> cmake .

Shell> make

Shell> make install

Shell> cd /usr/local/mysql

Shell> chown -R mysql .

Shell> chgrp -R mysql .

Shell> scripts/mysql_install_db --user=mysql

Shell> chown -R root .

Shell> chown -R mysql data

Shell> cp support-files/my-medium.cnf /etc/my.cnf

Shell> cp support-files/mysql.server /etc/init.d/mysqld

Shell> chmod 755 /etc/init.d/mysqld

Shell> bin/mysqld_safe --user=mysql --datadir=/dell/mysql_data

4.Mysql-5.6.36.tar.gz

二进制包安装mysql添加用户

[root@tri blog]# groupadd -g 51 mysql

[root@tri blog]# useradd -r -u 51 -g 51 -d /data02/blog/mysql_data -s /sbin/nologin mysql

开始安装

[root@tri local]# tar -xf /opt/data01/tars/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

[root@tri local]# ln -s mysql-5.6.36-linux-glibc2.5-x86_64/ mysql

[root@tri local]# cd mysql

[root@tri mysql]# chown -R mysql:mysql .

[root@tri mysql]# scripts/mysql_install_db --user=mysql

[root@tri mysql]# chown -R root .

[root@tri mysql]# chown -R mysql data/

标准启动

[root@tri mysql]# bin/mysqld_safe --user=mysql

直接启动

[root@tri mysql]# bin/mysqld_safe --user=mysql --bind-address=127.0.0.1 --port 3333

解包后查看文件,编译时配置“-prefix=”

[root@tri mysql]# vi docs/INFO_BIN

CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql

MYSQL_DATADIR:PATH=/usr/local/mysql/data

添加启动时打开服务

[root@tri mysql]# cp support-files/mysql.server /etc/init.d/mysql

打开上述文件(提示配置文件、主目录、数据目录)

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

# If you install MySQL on some other places than /usr/local/mysql, then you

# have to do one of the following things for this script to work:

#

# - Run this script from within the MySQL installation directory

# - Create a /etc/my.cnf file with the following information:

#   [mysqld]

#   basedir=

# - Add the above to any other configuration file (for example ~/.my.ini)

#   and copy my_print_defaults to /usr/bin

# - Add the path to the mysql-installation-directory to the basedir variable

#   below.

#

# If you want to affect other MySQL variables, you should make your changes

# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.

# If you change base dir, you must also change datadir. These may get

# overwritten by settings in the MySQL configuration files.

basedir=

datadir=

附:1.账号安全

-----------MySQL 安装完成后的帐号安全问题-----------

问题描述

刚安装好的系统, root 默认密码为空;默认空用户(空密码)也可以在本地登录;

查看系统中有那些账户:无用户名、密码本地登录

[work@tri ~]$ mysql

使用有用户名的方式登录

[work@tri ~]$ mysql -u root -h localhost

mysql> select host,user,password from mysql.user;

mysql> select host,user,password from mysql.user;

+-----------+------+----------+

| host      | user | password |

+-----------+------+----------+

| localhost | root |          |

| tri       | root |          |

| 127.0.0.1 | root |          |

| ::1       | root |          |

| localhost |      |          |

| tri       |      |          |

+-----------+------+----------+

6 rows in set (0.00 sec)

显示结果,表示有多个 root 用户;有两个 空用户。没有一个有密码。

这就需要为每一个用户设定密码;同样需要为空用户设定密码,或者删除。

mysql.db 中的某些行,允许所有用户(包括没有密码的空账户;anonymous)访问测试数据库或者其

他以 “test_” 开头的数据库。(这个默认设置是为了测试的)

-------

修改 root 密码shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');

mysql> select host,user,password from mysql.user;

69a847acdb87aad9bec27e305d0711ec.pngshell> mysql -u root

mysql> UPDATE mysql.user SET password = PASSWORD('newpwd)

-> WHERE user = 'root';

(没有这步,就得重启后才能生效)

mysql> FLUSH PRIVILEGES;

shell> mysqladmin -u root password "newpwd"

shell> mysqladmin -u root -h host_name password "newpwd"

mysqladmin 无法对127.0.0.1起作用。

shell> mysqladmin -u root -p shutdown

-------修改 anonymous 密码

shell> mysql -u root -p

mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');

shell> mysql -u root -p

mysql> UPDATE mysql.user SET password = PASSWORD('newpwd')

-> WHERE user = '';

mysql> FLUSH PRIVILEGES;

-------删除 anonymous 用户

shell> mysql -u root -p

mysql> DROP USER ''@'localhost';

mysql> DROP USER ''@'host_name';

mysql> select host,user,password from mysql.user;

17039c0b81c22f689a780dd6766bde69.png

-------

拒绝任意用户访问测试数据库shell> mysql -u root -p

mysql> DELETE FROM mysql.db WHERE db LIKE 'test%';

mysql> FLUSH PRIVILEGES;

mysql> DROP DATABASE test;    (* 再进一步,连测试库都干掉)

-----------------------------

使用 RPM 包安装数据库

RPM 包可以是官方提供的,也可以是其他作者提供的;可能有所不同(文件结构)。

标准安装,需要 MySQL-server & MySQL-client 。(其他的包在标准安装中不需要)

4109 行有关于各种包(名称)代表含义的详细说明。(包对 CPU 是有选择的 4208 )

查看 RPM 包里的文件:shell> rpm -qpl MySQL-server-VERSION.glibc23.i386.rpm

-------

* Red Hat Linux, Fedora, CentOSroot-shell> yum install mysql mysql-server mysql-libs

root-shell> service mysqld start

root-shell> chkconfig --levels 235 mysqld on

-------

Debian,Ubuntu,Kubunturoot-shell> apt-get install mysql-client-5.1 mysql-server-5.1

root-shell> service mysql start | stop

-----------------------------

优化从编译个出色的mysqld开始使用最好的编译器、和最佳的编译选项;使用静态模板编译。这个很重要,性能能提升10-30%。

直接在官网下载的二进制包,包含所有的字符集;自己编译可以选择需要的字符集。

Here is a list of some measurements that we have made:

* If you link dynamically (without -static), the result is 13%

slower on Linux. Note that you still can use a dynamically

linked MySQL library for your client applications. It is the

server that is most critical for performance.

* For a connection from a client to a server running on the same

host, if you connect using TCP/IP rather than a Unix socket

file, performance is 7.5% slower. (On Unix, if you connect to

the host name localhost, MySQL uses a socket file by default.)

* For TCP/IP connections from a client to a server, connecting

to a remote server on another host is 8% to 11% slower than

connecting to a server on the same host, even for connections

faster than 100Mb/s Ethernet.

* When running our benchmark tests using secure connections (all

data encrypted with internal SSL support) performance was 55%

slower than with unencrypted connections.

* On a Sun UltraSPARC-IIe, a server compiled with Forte 5.0 is

4% faster than one compiled with gcc 3.2.

* On a Sun UltraSPARC-IIe, a server compiled with Forte 5.0 is

4% faster in 32-bit mode than in 64-bit mode.

* Compiling on Linux-x86 using gcc without frame pointers

(-fomit-frame-pointer or -fomit-frame-pointer -ffixed-ebp)

makes mysqld 1% to 4% faster.

这段保留一点原汁原味

b76036c5bb5922120c20026c98e58251.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用GUI工具Portainer.io管控Docker容器

背景5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器。是时候推荐一个轮子Portainer.io:提供GUI界面的容器管理工具,给开发者的工具箱又…

【项目升级】集成Quartz.Net Job实现(一)

这两天的新闻也是越来越多了,不仅Github接手了NPM,还有.NET 5也要新鲜出炉了(11月正式发布),当然还有MVP峰会也正在如火如荼的展开,会有哪些好的东西被碰撞出来,也是很期待的。这些天我也简单的…

DevC++如何安装自定义头文件并使用

首先我们打开DevC,然后点击新建。 新建一个控制台应用程序 取一个喜欢的文件名。 然后会出现如下界面。 点击新建单元 将头文件源码放入 找到空白位置,右键,然后点关闭并保存 保存的文件名要为头文件的名字 使用这个头文件时,只…

论ORM之EFCore初篇(快速基于本地数据库实现数据操作)

欢迎大家阅读《朝夕Net社区技术专刊》第6期我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦!前言:今天准备带大家一站…

C++变量的初始化问题及列表初始化

在C中,初始化是一个异常复杂的问题,很多人认为初始化是赋值的一种,事实上,初始化和赋值是两个完全不同的操作。 列表初始化 要定义一个名为haif的int变量并初始化为0,以下4条语句都可以做到。 int haif 0; int hai…

c++ set 遍历_47. Set 是如何工作的(3) 遍历顺序是如何确定的?

Set 是无序容器,它的插入顺序与迭代(或者 print)输出的顺序不保证与插入顺序一致,与 Dict 类似的问题,Set 的输出顺序是如何决定的呢?首先我们从 Set 的输出开始寻找蛛丝马迹,在 Dict 的研究中&…

跟着“土牛”学架构知识

这里的土牛是指abp的作者,土耳其人,简称“土牛”,前两天看了他分享的ppt,这里做个小笔记。架构分层图一(abp作者)图二(clean架构)图三(在朋友圈看到的)每种架…

《C++ Primer》2.6.1节练习

练习2.39: 在类体花括号后加一个分号就好了。 练习2.40: 代码如下: struct Sales_data{std::string bookNo;//书籍编号unsigned units_sold 0;//销售量double sellingprice 0.0;//零售价double saleprice 0.0//实售价double discount 0…

Cef mysql.exe_CEF3.2623使用记录:windows编译

CEF3.2623使用记录:windows编译1:cef3.2623下载地址2623是cef3最后一个支持xp系统的版本,且可以支持html的audio标签,可以用作对html音频的处理下载地址为 https://bitbucket.org/chromiumembedded/cef/branch/2623。下载win32版本…

Asp.Net Core 中IdentityServer4 授权流程及刷新Token

一、前言上面分享了IdentityServer4 两篇系列文章,核心主题主要是密码授权模式及自定义授权模式,但是仅仅是分享了这两种模式的使用,这篇文章进一步来分享IdentityServer4的授权流程及refreshtoken。系列文章目录(没看过的先看这几篇文章再来…

C++关于const限定符,这一篇足够!!!

C关于const限定符,这一篇足够!!!const限定符初始化和constconst引用初始化和对const的引用对const的引用可能引用一个并非const对象指针和constconst指针顶层constconst限定符 有时候我们希望定义这样一种变量,它的值不能被改变。…

liunx版mysql服务无法启动_linux环境下mysql无法启动

无论发现怎样的问题,首先查看err日志。问题一:查询err日志显示权限问题。分析:mysql原本是所属mysql用户,如果在root用户下启动就有可能出现问题。解决:(1)查看mysql的权限(2)发现有root权限,混乱了。所以先…

玩转控件:重写/重绘Dev中MessageBox弹窗控件

很久没有更新博客了,本想着直接发一篇《手撕ERP》系列,从控件重写、重绘,到框架搭建,再到部分模块实现业务的。但是每次动手的时候,都觉得难以下手。直接从数据库设计开始吧,模块设计还没定下来&#xff0c…

.NET Core开发实战(第26课:工程结构概览:定义应用分层及依赖关系)--学习笔记...

26 | 工程结构概览:定义应用分层及依赖关系从这一节开始进入微服务实战部分这一节主要讲解工程的结构和应用的分层在应用的分层这里定义了四个层次:1、领域模型层2、基础设施层3、应用层4、共享层可以通过代码来看一下源码链接:https://githu…

容器网络是如何影响Kubernetes中数据库性能的?

关于Kubernetes中的数据库,大家最关心的第一个问题是性能。由于这种担心的存在,许多使用Kubernetes进行生产应用程序工作的客户正在Kubernetes之外的裸机或VM上运行数据库。因此,我们致力于深入研究Kubernetes抽象层,确定值得测试…

mysql php状态函数_mysql_stat()查询MySQL服务器当前系统状态

mysql教程:mysql_stat()查询MySQL服务器当前系统状态 定义和用法 mysql_stat() 函数返回 MySQL 服务器的当前系统状态。 如果成功,则该函数返回状态。如果失败,则返回 false。 语法 mysql_stat(connection)参数 描述 connection 可mysql教程&…

聊聊面试的事(应聘方)

这里是Z哥的个人公众号每周五11:45 按时送达当然了,也会时不时加个餐~我的第「134」篇原创敬上原本春节长假之后会有不少人开始新的面试之旅。但是疫情的到来打乱了这个节奏,包括招聘方的计划。因此,在以往是金三银四的…

mysql边备份边导入么_MySQL 怎么导入导出操作

mysql 如何导入导出操作1、MySQL 如何导入导出个别需要数据记录?– 先导出数据所在的表结构:mysql> show create table CHARBASE into outfile “/db/mysql/RS.sql” ;– 将需要单独导出的内容存放在文本文件里,这里一定要注意存放的位置必…

Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(三)

在前面两篇文章中,我介绍了基于IdentityServer4的一个Identity Service的实现,并且实现了一个Weather API和基于Ocelot的API网关,然后实现了通过Ocelot API网关整合Identity Service做身份认证的API请求。今天,我们进入前端开发&a…

[蓝桥杯][算法提高VIP]因式分解

解题思路&#xff1a; 水题&#xff01;&#xff01;&#xff01; 代码如下&#xff1a; #include <iostream> using namespace std; const int N 100010; int p[N]; int k; bool vis[N];void init() {for (int i 2;i<N-1;i){if (!vis[i])p[k] i;for (int j 2*i…