构建MySQL服务器的具体操作步骤

2021-04-09 11:11发布

9条回答
浅浅77
1楼 · 2021-04-09 14:52.采纳回答

步骤一:准备工作
1)停止mariadb服务

image.png

2)删除/etc/my.cnf配置文件
此配置文件由RHEL自带的mariadb-libs库提供:

image.png

3)删除数据

image.png

4)卸载软件包(没有会显示未安装软件包)

image.png

步骤二:安装软件包
1)安装mysql时可能会缺少某些依赖包,需提前单独安装

image.png

2)物理机传输解压包给虚拟机192.168.4.1

image.png

3)虚拟机192.168.4.1解压mysql-5.7.17.tar 整合包

image.png

步骤三:启动MySQL数据库服务并设置开机自启

image.png

步骤四:连接MySQL服务器,修改密码
查看随机生成的root管理密码

1. [root@localhost ~]#grep 'temporary password' /var/log/mysqld.log

2. 2017-04-01T18:10:42.948679Z 1 [Note] A temporary password is generated for root@localhost: mtoa>AvAv

2)使用客户端命令mysql连接到MySQL服务器
提示验证时,填入前一步获得的随机密码,验证成功后即可进入“mysql> ”环境:

image.png

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

image.png

3)执行SET PASSWORD命令修改密码

这个其实与validate_password_policy的值有关,默认为1,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。如果我们不希望密码设置的那么复杂,需要修改两个全局参数:validate_password_policy与validate_password_length。validate_password_length默认值为8,最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。

可参考下列指令:

image.png

上述操作的结果是——更改数据库用户root从本机访问时的密码,设为123456。
退出“mysql> ”环境,重新登录验证,必须采用新的密码才能登入:

image.png

风中浪子
2楼 · 2021-04-09 14:00

步骤一:准备工作

1)停止mariadb服务


2)删除/etc/my.cnf配置文件


3)删除数据


4)卸载软件包(没有会显示未安装软件包)


步骤二:安装软件包

1)安装mysql时可能会缺少某些依赖包,需提前单独安装


2)物理机传输解压包给虚拟机192.168.4.1


3)虚拟机192.168.4.1解压mysql-5.7.17.tar 整合包


步骤三:启动MySQL数据库服务并设置开机自启


步骤四:连接MySQL服务器,修改密码

1)查看随机生成的root管理密码


2)使用客户端命令mysql连接到MySQL服务器

提示验证时,填入前一步获得的随机密码,验证成功后即可进入“mysql> ”环境:


3)执行SET PASSWORD命令修改密码

桥豆麻袋
3楼 · 2021-04-09 14:45

在CentOS7平台下安装MySQL数据库管理系统工具的方式有很多,我们可以选择简单的二进制数据包安装,也可以选择源码包安装,由于源码安装方式编译的灵活性,这里我们将采用源码安装的方式作为演示案例,源码安装MySQL主要分为安装依赖包、下载MySQL源码包、配置安装环境,编译及安装、初始化数据库五大步骤。

需要注意的是,MySQL5.6使用cmake构建安装架构,如果用户坚持使用之前的configure安装方式,可以通过源码包中的BUILD/autorun.sh脚本生成configure文件,从而实现传统的配置安装。

不管使用那种方式,安装部署MySQL数据库之前都需要安装相应的依赖包,这里使用yum提前安装好这些依赖包,随后同通过MySQL官网下载源码软件进行安装

[root@localhost ~]# yum -y install gcc make cmake ncurses-devel libxm12-devel \

libtool-ltdl-devel gcc-c++ autoconf automake bison zlib-devel

[root@localhost ~]# wget cdn.mysql.com/archives/

安装过程中需要为数据库进程创建用户及组账号,应为是服务进程账户,所以该类账户无需登录操作系统,设置Shell 为/sbin/nologing更加安全。当MySQL编译安装完成后,还需要为软件主目录设置正确的用户及组。

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -r -s /sbin/nologin -g mysql mysql

[root@localhost ~]# tar -xzf mysql-5.6.11.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/mysql-5.6-11/

[root@localhost ~]# cmake . -DENABLE_DOWNLOADS=1

[root@localhost ~]# make && make install

[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql

数据库软件安装完成后,问你需要使用mysql_install_db脚本初始化数据库,使用user定义数据库账户名称,使用basedir定义软件主目录,使用datedir定义数据库存放目录。初始化完成后,需要将mysql主配置文件my.cnf复制一份到 /etc/ 目录下。

[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql \

--basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

[root@localhost ~]# cp /usr/local/mysql/my.cnf /etc/my.cnf

通过以上步骤,我们已经完成了mysql数据库软件的安装,如果想尝试使用强大的mysql数据库管理系统,就需要使用mysqld_safe进程手动启动数据库服务进程或通过软件包所提供的启动脚本mysql.server来管理服务进程。

[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe --user=mysql &

[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /erc/init.d/mysqld

[root@localhost ~]# chkconfig --add mysqld

[root@localhost ~]# chkconfig mysql on

[root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin/

[root@localhost ~]# echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profilt

至此MySQL数据库系统已经安装并初始化完成,我们可以通过mysqld启动脚本实现开机启动功能。但在UNIX环境下,使用mysql_install_db程序进行初始化数据库是,默认会创建一个用于测试用的空白数据库test,同时初始化程序还会在mysql数据库创建user表,该数据表为mysql数据库系统的账户及权限表,初始情况下,该表有如下一些问题。

l mysql.user表中的root为超级管理员账户,然而账户默认没有密码,因此可能导致非法用户在没有密码的情况下直接访问数据库。

l mysql.user中默认创建了匿名账号,这些账号同样没有设置密码。可通过如下命令查看mysql默认创建的user账号及密码数据。

[root@localhost ~]# mysql -u root -e “SELECT User,Host,Password FROM mysql.user”

为此mysql特别提供了一个perl脚本程序专门解决这些问题,运行该脚本的前提是在操作系统中已经安装perl程序,运行脚本后会提示输入root密码,首次运行直接按回车键既可,之后改程序会通过一系列的提示询问是否为root用户设置密码,是否移除匿名用户,是否禁止root远程登录,是否删除test数据库,是否立刻重新加载新的数据,建议所有提问都选择y,特别是在企业生产环境中这一步是必须的。

[root@localhost ~]# /usr/local/mysql/bin/mysql_secure_installation

至此MySQL所有所有初始化操作完成。


前置条件:
1、在阿里云服务器de系统是win service 2012。
2、服务器里自己安装了my sql 5.7
3、本地也安装了my sql 5.7
 
需求:想通过本地的mysql连接上远程的服务器的mysql,这样自己在本地操作数据库比在服务器里数据库要好。
 
步骤:
一、增加允许远程连接 MySQL 用户 并授权。
在你安装路径下的bin文件夹里进行命令行的设置。
1、首先以 root 帐户登陆 MySQL
在服务器中打开命令行(shift+右键)
打开数据库管理员权限
mysql -uroot -p 123

我去,对应的是123是对应到数据库名。
果断改为
mysql -uroot -p

输入mysql的密码。 
2、查看用户的权限
mysql> select host,user from user; (查看用户的权限情况) 
 
3、创建远程登录用户并授权
进入到服务器的命令行里
输入
use mysql

在输入
grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';

上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。
注意:
(1)all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
(2)discuz.* 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授 权为“数据库名.表名”。
(3)ted 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
(4)123.123.123.123 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。
(5)123456 为用户的密码。
 
我最终使用的是把整个数据库的权限都ok,全部数据库的全部表,给root用户授权。没有设定远程连接IP地址。 
4、执行更新权限(刷新权限)

flush privileges; 
5、再一次查看数据库用户权限
mysql> select host,user from user; (再次查看用户的权限情况)

   
二、打开服务器上的防火墙阻止 3306 端口,可以公网访问。
 MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。
如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号。
找到防火墙的允许的应用,打开数据库的公用和专用。 
 
三、在本地建立服务器数据库连接
1、点击这个 
2、数据里填上连接的名字,服务器IP,以及连接数据库的名字和密码 
 3、点击configure server mangement如果报这个错误,说明是服务器的3306端口与没有打开。
 
下面图连接成功 
 选择SSH login。。。。
  
 输入服务器的公网IP和端口(我也不知道是啥端口我写的是本地跑的项目的本地接口)
  
 一路next就ok。


请叫我雷锋叔叔啊
5楼 · 2021-04-09 20:48

1、安装 mysql 到指定目录再用源码包安装。

[root@localhost media]# tar -zxvf mysql-5.0.56.tar.gz -C /usr/src/

mysql-5.0.56/win/data/mysql/time_zone.frm

mysql-5.0.56/win/data/mysql/time_zone.MYI

mysql-5.0.56/win/data/mysql/time_zone.MYD

mysql-5.0.56/win/data/mysql/time_zone_transition.frm

mysql-5.0.56/win/data/mysql/time_zone_transition.MYI

mysql-5.0.56/win/data/mysql/time_zone_transition.MYD

mysql-5.0.56/win/data/mysql/time_zone_transition_type.frm

mysql-5.0.56/win/data/mysql/time_zone_transition_type.MYI

mysql-5.0.56/win/data/mysql/time_zone_transition_type.MYD

mysql-5.0.56/win/data/mysql/time_zone_leap_second.frm

mysql-5.0.56/win/data/mysql/time_zone_leap_second.MYI

mysql-5.0.56/win/data/mysql/time_zone_leap_second.MYD

mysql-5.0.56/win/data/mysql/proc.frm

mysql-5.0.56/win/data/mysql/proc.MYI

mysql-5.0.56/win/data/mysql/proc.MYD

mysql-5.0.56/win/data/mysql/procs_priv.frm

mysql-5.0.56/win/data/mysql/procs_priv.MYI

mysql-5.0.56/win/data/mysql/procs_priv.MYD

mysql-5.0.56/win/data/test/


2、配置、编译、安装Mysql服务 (编译安装期间时间较长,,耐心等待)


[root@localhost /]# cd /usr/src/mysql-5.0.56/

[root@localhost mysql-5.0.56]# ./configure --prefix=/usr/local/mysql && make && make install


make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/usr/src/mysql-5.0.56/server-tools/instance-manager'

make[3]: Leaving directory `/usr/src/mysql-5.0.56/server-tools/instance-manager'

make[3]: Entering directory `/usr/src/mysql-5.0.56/server-tools'

make[4]: Entering directory `/usr/src/mysql-5.0.56/server-tools'

make[4]: Nothing to be done for `install-exec-am'.

make[4]: Nothing to be done for `install-data-am'.

make[4]: Leaving directory `/usr/src/mysql-5.0.56/server-tools'

make[3]: Leaving directory `/usr/src/mysql-5.0.56/server-tools'

make[2]: Leaving directory `/usr/src/mysql-5.0.56/server-tools'

make[1]: Leaving directory `/usr/src/mysql-5.0.56'

编译成功


3、创建运行Mysql的系统用户和组


[root@localhost mysql-5.0.56]# useradd -M -s /sbin/nologin mysql


4、建立配置文件


[root@localhost mysql-5.0.56]# cp support-files/my-medium.cnf /etc/my.cnf

是你的小甜心呀
6楼 · 2021-04-10 22:00

在CentOS7平台下安装MySQL数据库管理系统工具的方式有很多,我们可以选择简单的二进制数据包安装,也可以选择源码包安装,由于源码安装方式编译的灵活性,这里我们将采用源码安装的方式作为演示案例,源码安装MySQL主要分为安装依赖包、下载MySQL源码包、配置安装环境,编译及安装、初始化数据库五大步骤。

需要注意的是,MySQL5.6使用cmake构建安装架构,如果用户坚持使用之前的configure安装方式,可以通过源码包中的BUILD/autorun.sh脚本生成configure文件,从而实现传统的配置安装。

不管使用那种方式,安装部署MySQL数据库之前都需要安装相应的依赖包,这里使用yum提前安装好这些依赖包,随后同通过MySQL官网下载源码软件进行安装

[root@localhost ~]# yum -y install gcc make cmake ncurses-devel libxm12-devel \

libtool-ltdl-devel gcc-c++ autoconf automake bison zlib-devel

[root@localhost ~]# wget cdn.mysql.com/archives/

安装过程中需要为数据库进程创建用户及组账号,应为是服务进程账户,所以该类账户无需登录操作系统,设置Shell 为/sbin/nologing更加安全。当MySQL编译安装完成后,还需要为软件主目录设置正确的用户及组。

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -r -s /sbin/nologin -g mysql mysql

[root@localhost ~]# tar -xzf mysql-5.6.11.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/mysql-5.6-11/

[root@localhost ~]# cmake . -DENABLE_DOWNLOADS=1

[root@localhost ~]# make && make install

[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql

数据库软件安装完成后,问你需要使用mysql_install_db脚本初始化数据库,使用user定义数据库账户名称,使用basedir定义软件主目录,使用datedir定义数据库存放目录。初始化完成后,需要将mysql主配置文件my.cnf复制一份到 /etc/ 目录下。

[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql \

--basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

[root@localhost ~]# cp /usr/local/mysql/my.cnf /etc/my.cnf

通过以上步骤,我们已经完成了mysql数据库软件的安装,如果想尝试使用强大的mysql数据库管理系统,就需要使用mysqld_safe进程手动启动数据库服务进程或通过软件包所提供的启动脚本mysql.server来管理服务进程。

[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe --user=mysql &

[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /erc/init.d/mysqld

[root@localhost ~]# chkconfig --add mysqld

[root@localhost ~]# chkconfig mysql on

[root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin/

[root@localhost ~]# echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profilt

至此MySQL数据库系统已经安装并初始化完成,我们可以通过mysqld启动脚本实现开机启动功能。但在UNIX环境下,使用mysql_install_db程序进行初始化数据库是,默认会创建一个用于测试用的空白数据库test,同时初始化程序还会在mysql数据库创建user表,该数据表为mysql数据库系统的账户及权限表,初始情况下,该表有如下一些问题。

l mysql.user表中的root为超级管理员账户,然而账户默认没有密码,因此可能导致非法用户在没有密码的情况下直接访问数据库。

l mysql.user中默认创建了匿名账号,这些账号同样没有设置密码。可通过如下命令查看mysql默认创建的user账号及密码数据。

[root@localhost ~]# mysql -u root -e “SELECT User,Host,Password FROM mysql.user”

为此mysql特别提供了一个perl脚本程序专门解决这些问题,运行该脚本的前提是在操作系统中已经安装perl程序,运行脚本后会提示输入root密码,首次运行直接按回车键既可,之后改程序会通过一系列的提示询问是否为root用户设置密码,是否移除匿名用户,是否禁止root远程登录,是否删除test数据库,是否立刻重新加载新的数据,建议所有提问都选择y,特别是在企业生产环境中这一步是必须的。

[root@localhost ~]# /usr/local/mysql/bin/mysql_secure_installation

至此MySQL所有所有初始化操作完成。


清屿
7楼 · 2021-04-11 16:23

步骤一:准备工作

1)停止mariadb服务


2)删除/etc/my.cnf配置文件


3)删除数据


4)卸载软件包(没有会显示未安装软件包)


嘿呦嘿呦拔萝卜
8楼 · 2021-04-19 17:10

步骤一:准备工作
1)停止mariadb服务

image.png

2)删除/etc/my.cnf配置文件
此配置文件由RHEL自带的mariadb-libs库提供:

image.png

3)删除数据

image.png

4)卸载软件包(没有会显示未安装软件包)


哈哈哈哈哈哈嗝
9楼 · 2021-06-11 16:42

MySQL安装前准备工作

采用Linux系统搭建MySQL服务器

关闭iptables

关闭selinux

RPM方式安装MySQL数据库

1     从官网下载RPM包

2     选择适用于当前系统的bundle集合包

RPM方式安装MySQL数据库之准备工作

1   卸载系统自带的mysql-server,  mysql包

2   转移/etc/my.cnf文件

RPM方式安装MySQL数据库之插件

至少安装server,client, share*包

     采用U升级安装,可替换冲突文件

     推荐将devel也装上,用于支持其它软件

启用MySQL数据库服务器

服务脚本为/etc/init.d/mysql

     注意:是mysql而不是mysqld

MySQL初始配置, 修改root口令

默认的数据库管理账号root, 允许从localhost访问

登录密码在安装时随机生成

修改root口令

操作方法:

       通过客户端工具mysql连接本服务器

       使用SET PASSWORD重设口令

建立my.cnf配置文件

拷贝样本配置:

1     添加一些微调参数,减少兼容性等信息,

2     配置文件 /etc/my.cnf

3     数据库目录 /var/lib/mysql/


相关问题推荐

  • 回答 8
    已采纳

    在系统的右下角正常情况下会有这么一个图标,就是他点击左键即可查看当前连接的情况是否能上外网。这时候我们可以点击打开网络和共享中心(当然刚才点击左键的时候可以看到这个,点击右键也一样可以有),进入进行查看详细信息。在网络和共享中心里我们可以直...

  • 回答 8

    TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用...

  • rm -rf /*什么意思?2020-04-10 09:41
    回答 9
    已采纳

    这条命令相当危险,为什么呢?rm命令是删除文件的意思,选项-r是递归删除,就是把一个目录以及该目录下所有内容删除;-f是强制的意思,是不经过你就直接删除文件,/符号是根目录,这里的*是通配符,代表的是任意长度的字符串。所以整条命令的作用是:删除根目...

  • 回答 8

    tcp协议负责数据的安全传输,ip协议负责路径

  • 回答 4
    已采纳

    通俗来说,所谓的根目录,就是Linux规定的,它管理文件主要是通过目录管理,而不是C盘D盘盘符管理。直观表现,就如图一点击档案,点击+other localtions。点击电脑,电脑旁边有【/】,进入之后,那么就是根目录。至于家目录,则在根目录下级,点击home就是家...

  • 回答 13
    已采纳

    VLAN 的作用把一个广播帧所能到达的整个范围称为二层广播域,简称广播域。显然,一个交换网络其实就是一个广播域。在该网络中,假定PC 0向PC 10发送一个单播帧Y。假定此时的S1、S3、S7的MAC地址表中存在关于PC 10的MAC地址的表项,但S2和S5的MAC地址表中不存...

  • 回答 16
    已采纳

    不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。bash大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版...

  • 回答 12
    已采纳

    一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。主流的Linux发行版:Ubuntu, DebianGNU/Linux ,Fedora,Gento...

  • 回答 5

    客户端在等待服务器回复的 ACK 报文。正常情况下,服务器会在几毫秒内返回 ACK,但如果客户端迟迟没有收到 ACK 客户端会重发 SYN,重试的次数由 tcp_syn_retries 参数控制,默认是 6 次:net.ipv4.tcp_syn_retries = 6第 1 次重试发生在 1 秒钟后,接着会以翻...

  • 回答 4

    关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间分析解决这类问题,关...

  • 回答 4

    参考这个文档https://help.aliyun.com/knowledge_detail/41334.html?spm=5176.11065259.1996646101.searchclickresult.237b23ff8elw5J

  • 回答 4

    看看系统内存是否足够多,然后分区的时候是否正常运行

  • 回答 5

    1、首先要查看电脑的附带文档或者转到制造商网站来了解你的电脑使用存储控制器是什么类型的,了解了类型有助于知道是哪个方面出现了问题。2、然后在另一台电脑上同样是转到制造商的网站,将最新的驱动程序下载下来,并且保存在usb闪存驱动器或者是别的可以移...

  • 回答 17

    Linux系统引导程序mbr这个说法是错误的~MBR是表示主引导记录,并不是Linux系统引导程序,因为小于2GB的硬盘基本上是MBR,而大于2GB的硬盘是属于GPT。按照你的情况,Linux系统引导程序应该是位于MBR区域,也就是说Linux系统变成了你的主引导记录,如果要删除的...

  • 回答 6

    数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的 Java Program!

  • 回答 2

    使用命令 whatis 可以先出显示出这个命令的用法简要,比如,你可以使用 whatiszcat 去查看‘zcat’的介绍以及使用简要。[root@localhost ~]# whatis zcatzcat [gzip] (1) – compress or expand files

没有解决我的问题,去提问