linuxmysql5.1安装的简单介绍

  • 1、详细讲解Linux环境下MySQL 5.1安装步骤
  • 2、如何安装mysql,Linux下mysql安装
  • 3、《从0到1 最详细MySQL安装流程(Linux环境)
  • 4、linux怎么安装mysql数据库

1、下载MySQL免安装版/二进制版软件

(不用编译)

文件格式:MYSQL-VERSION-OS.tar.gz

2、创建MySQL组,建立MySQL用户并加入到mysql组中

(不同版本的Unix中,groupadd和useradd的语法可能会稍有不同。)

#groupadd

mysql

#useradd

-g

mysql

mysql

3、进入目录/usr/local,解压缩免安装版,并在此目录中建立名为mysql的软链接

#cd

/usr/local

#gunzip

/path/to/MYSQL-VERSION-OS.tar.gz

|

tar

xvf

(该命令会在本目录下创建一个名为MYSQL-VERSION-OS的新目录。)

(使用GNU

tar,则不再需要gunzip。你可以直接用下面的命令来解包和提取分发:

#

tar

zxvf

/path/to/mysql-VERSION-OS.tar.gz)

#ln

-s

MYSQL-VERSION-OS

mysql

4、添加MySQL配置文件

如果你想要设置一个选项文件,使用support-files目录中的一个作为模板。在这个目录中有4个模板文件,是根据不同机器的内存定制的。

#cp

support-files/my-medium.cnf

/etc/my.cnf

(可能你需要用root用户运行这些命令。)

5、设定目录访问权限,用mysql_install_db创建MySQL授权表初始化,并设置mysql,root帐号访问权限

#cd

mysql

#chown

-R

mysql

.

#chgrp

-R

mysql

.

#scripts/mysql_install_db

–user=mysql

#chown

-R

root

.

#chown

-R

mysql

data

(注意以上命令中的”

.

“符号不能少。)

6、运行MySQL

#bin/mysqld_safe

–user=mysql

(如果没有问题的话,应该会出现类似这样的提示:

[1]

42264

#

Starting

mysqld

daemon

with

databases

from

/usr/local/mysql/var

如果出现

mysql

ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。

大多数问题是权限设置不正确引起的。

)

7、设置root密码。默认安装密码为空,为了安全你需要修改密码

#/usr/local/mysql/bin/mysqladmin

-uroot

password

yourpassword

8、拷贝编译目录的一个脚本,设置开机自动启动

#cp

support-files/mysql.server

/etc/rc.d/init.d/mysqld

#chmod

700

/etc/init.d/mysqld

#chkconfig

–add

mysqld

#chkconfig

–level

345

mysqld

on

9、启动mysqld服务

#service

mysqld

start

10、查看3306端口是否打开。要注意在防火墙中开放该端口

#netstat

-atln

免安装版/二进制版安装基本命令概述:

shell

groupadd

mysql

shell

useradd

-g

mysql

mysql

shell

cd

/usr/local

shell

gunzip

/PATH/TO/MYSQL-VERSION-OS.tar.gz

|

tar

xvf

shell

ln

-s

FULL-PATH-TO-MYSQL-VERSION-OS

mysql

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

bin/mysqld_safe

–user=mysql

一、下载编译安装

#cd /usr/local/src/

#wget

#tar –xzvf

mysql-5.1.38.tar.gz ../software/

#./configure

–prefix=/usr/local/mysql

//MySQL安装目录

–datadir=/mydata //数据库存放目录

–with-charset=utf8 //使用UTF8格式

–with-extra-charsets=complex //安装所有的扩展字符集

–enable-thread-safe-client

//启用客户端安全线程

–with-big-tables //启用大表

–with-ssl //使用SSL加密

–with-embedded-server //编译成embedded MySQL library (libmysqld.a),

–enable-local-infile //允许从本地导入数据

–enable-assembler

//汇编x86的普通操作符,可以提高性能

–with-plugins=innobase //数据库插件

–with-plugins=partition //分表功能,将一个大表分割成多个小表

#make make

install //编译然后安装

二、新建用户和组

#groupadd mysql //建MySQL组

#useradd -g mysql -s /sbin/nologin mysql //建MySQL用户属于MySQL组

三、配置

#chown -R mysql:mysql /usr/local/mysql/ 把MySQL目录的权限给MySQL用户和组

#cp /usr/local/src/software/ mysql-5.1.38/support-files/my-medium.cnf

/etc/my.cnf //拷入配置文件my.cnf

#/usr/local/mysql/bin/mysql_install_db

–user=mysql //用MySQL来初始化数据库

#chown -R mysql:mysql /usr/local/mysql/var/

//把初始化的数据库目录给MySQL所有者

#/usr/local/mysql/bin/mysqld_safe –user=mysql

//启动MySQL

四、其他

#cp /usr/local/src/software/

mysql-5.1.38/support-files/mysql.server /etc/init.d/mysqld

#chmod 755

/etc/init.d/mysqld

#chkconfig –add mysqld

#chkconfig mysqld on

#service mysqld restart

五、登陆测试

#cd

/usr/local/mysql/bin

#mysql

show databases;

#

MySQL安装结束

linux下mysql配置方法

在linux中mysql的配置文件路径在/usr/share/mysql下

有:my-huge.cnf 、my-large.cnf、 my-medium、my-small.cnf这些文件

根据需要打开这些文件中的一个:

在文件中找到[mysqld]

在下这行下加入datadir=FILEPATH /*这个路径为数据库存放的路径*/

然后保存文件

在shell中输入

#cp my-***.cnf /etc

#cd /etc

#mv my.cnf my.cnf.bak

/*把系统以前的mysql配置文件备份*/

#mv my-***.cnf my.cnf

#service mysqld start

/*启动mysql服务*/

#ntsysv /*配置mysql自启动,在弹出的窗口中把mysqld这项服务用空格选中,最后确定保存*/

   查看服务器是否有自带的MySQL,如果有可以直接使用,如果自带的版本比较低,可以删除然后安装自己想要的版本 (在安装新版本MySQL之前,需要卸载服务器自带的MySQL包和MySQL数据库分支mariadb的包)

  1、rpm -qa|grep mysql — 查询服务器是否有mysql,如有,则执行下面的语句进行删除

  2、rpm -qa |grep mariadb — 查询服务器是否有mariadb,有则执行第三步进行删除

  3、rpm -e –nodeps 要删除的文件名( nodeps表示强制删除 )

   小贴士1: 如果使用rz命令时提示找不到命令,直接执行: yum -y install lrzsz 则可以在线下载。

   命令: rz 或者rz -be

   格式: rz -be 选择需要上传的文件

  批量或者单个上传文件,通过ZMODEM协议,除此之外,还可以通过ftp或者sftp进行上传

   按照下面的命令顺序执行,文件名修改成你压缩后的文件名称即可

   启动命令: systemctl start mysql

   报错信息: Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.

   根据报错信息执行 : systemctl status mysqld.service” 或者 “journalctl -xe”命令查看报错详情,发现报错信息中存在: Data Dictionary upgrade from MySQL 5.7 in progress 。

  说明是因为新版本和之前服务器自带的版本对应的包存在冲突,删除对应的冲突目录即可,执行: rm -rf /var/lib/mysql/*(执行删除命令的时候要看清楚哦)

systemctl start mysql — 启动服务器

  第一次成功启动MySQL会被设置默认一个密码,通过以下命令查看并进行登录。

   1、查看第一次启动的临时密码 :grep password /var/log/mysqld.log

   2、连接到服务器 : mysql -u root -p 回车,然后输出密码

   3、第一次连接会强制你必须修改连接密码 ,可以使用以下的语句进行修改密码:

  ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY ‘123456’; (MySQL8.x适合使用这个语句)

  UPDATE USER SET PASSWORD=PASSWORD(‘你的密码’) WHERE USER=’root’; (MySQL5.x版本的修改)

1. 安装MySQL数据库

先从MySQL官网下载MySQL,然后进入所下载的安装文件所在目录,运行如下命令进行安装,其中MySQL-server-community-5.1.56-1.rhel5.i386.rpm为刚刚下载的MySQL数据库服务器的rpm包,然后使用/etc/rc.d/init.d/mysqlrestart命令重启MySQL服务:

[root@localhost ~]# rpm -ivh MySQL-server-community-5.1.56-1.rhel5.i386.rpm

[root@localhost ~]# /etc/rc.d/init.d/mysql restart

Shutting down MySQL..[确定]

Starting MySQL..[确定]

2. 配置MySQL数据库字符集

备注:配置MySQL数据库字符集的目的是方便的使用数据库,无需在每次连接的时候都要临时设置数据库字符集的,个人不建议采用这种方法,真正的工程项目都应该在连接数据库时临时设置数据库字符集,如此才便于系统的移植,而且又不会影响数据库服务器中的其他数据库的使用!

安装完成之后,需要配置MySQL的字符集配置,首先需要查找MySQL的配置文件的位置,由于MySQL的配置文件名是以.cnf结尾的,因此可用如下命令进行查找:

[root@localhost ~]# find / -iname ‘*.cnf’ -print

/usr/share/mysql/my-large.cnf

/usr/share/mysql/my-medium.cnf

/usr/share/mysql/my-innodb-heavy-4G.cnf

/usr/share/mysql/my-huge.cnf

/usr/share/mysql/my-small.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-large.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-medium.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-innodb-heavy-4G.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-huge.cnf

/usr/share/doc/MySQL-server-community-5.1.56/my-small.cnf

/etc/pki/tls/openssl.cnf

输入完命令“find / -iname ‘*.cnf’-print”回车后,屏幕便显示搜索到的MySQL配置文件,然后拷贝my-large.cnf、my-medium.cnf 、my-innodb-heavy-4G.cnf 、my-huge.cnf、my-small.cnf中任意的一个到/etc目录下,并命名为my.cnf,其命令如下所示:

[root@localhost ~]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

[root@localhost ~]# vi /etc/my.cnf

然后,使用vi编辑器修改/etc/my.cnf文件,在[client]下添加: “default-character-set=gb2312”;在[mysqld]下添加:“default-character-set=gb2312”。如下所示:

# The following options will be passed to all MySQL clients

[client]

default-character-set=gb2312

#password = your_password

port = 3306

socket = /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server

[mysqld]

default-character-set=gb2312

port = 3306

socket = /var/lib/mysql/mysql.sock

skip-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

按一下Esc键,输入“:wq”后回车保存配置文件,输入“/etc/rc.d/init.d/mysqlrestart”重启MySQL服务,如下所示:

[root@localhost ~]# /etc/rc.d/init.d/mysql restart

Shutting down MySQL..[确定]

Starting MySQL..[确定]

最后,我们来验证MySQL服务器配置是否成功,首先登录MySQL,输入“mysql –uroot -p”回车,系统提示输入密码,登录成功后进入MySQL命令模式,如下所示:

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

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.1.56-community-log MySQL Community Server (GPL)

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

在MySQL命令模式下分别输入“show variables like’collation_%’;”、“show variables like ‘character_set_%’;”回车后显示字符集设置,如下所示:

mysql show variables like ‘collation_%’;

+———————-+——————-+

| Variable_name | Value |

+———————-+——————-+

| collation_connection | gb2312_chinese_ci |

| collation_database | gb2312_chinese_ci |

| collation_server | gb2312_chinese_ci |

+———————-+——————-+

3 rows in set (0.05 sec)

mysql show variables like ‘character_set_%’;

+————————–+—————————-+

| Variable_name | Value |

+————————–+—————————-+

| character_set_client | gb2312 |

| character_set_connection | gb2312 |

| character_set_database | gb2312 |

| character_set_filesystem | binary |

| character_set_results | gb2312 |

| character_set_server | gb2312 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+————————–+—————————-+

8 rows in set (0.00 sec)

mysql

根据以上查询结果可知我们设置的MySQL数据库配置信息已经生效,至此完成MySQL的服务器的安装与配置。

3.关于MySQL数据库的一些注意事项

3.1 远程连接mysql速度慢

解决方法:

在MySQL服务器的配置(/etc/my.cnf)中增加一个如下配置后速度飞快。

[mysqld]

skip-name-resolve

备注:这样就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。

3.2 重启数据库后,发现无需密码(或者任何密码)即可以连接

解决方法:

检查你的MySQL配置文件(/etc/my.cnf)中是不是多了一条语句:“skip-grant-tables”,删除(注释)该语句,重新配置MySQL密码,再次重启MySQL服务即可!

备注:若使用skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,如果mysql服务器没有开远程帐户,就在/etc/my.cnf里面加上skip-grant-tables。

原创文章,作者:R6ILV,如若转载,请注明出处:https://www.506064.com/n/126363.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
R6ILV的头像R6ILV
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相关推荐

  • 在线练习php,学练测平台

    本文目录一览: 1、PHP练习题 2、适合PHP新手模仿练习的有哪些网站,前辈们给推荐推荐。 3、跪求php好一点的教程 4、自学PHP有哪些书籍和教程值得推荐? PHP练习题 一…

    编程 2024-10-04
  • C++常量: 声明和使用不可变数据

    一、常量的概念 在编程方面,常量是在程序运行期间不可修改的值,即不变量。C++常量分为字面常量和命名常量两种类型。 字面常量就是用字面值表示的常量,比如字符串、整数、浮点数,它们的…

    编程 2024-11-20
  • c语言实现扫雷秒杀挂,c语言 扫雷

    本文目录一览: 1、C语言编简单的扫雷 2、C语言扫雷怎么实现? 3、扫雷C语言 4、C语言扫雷算法,也可以别的语言,解释清楚算法就好 5、如何用C语言编程 扫雷!~ 6、C语言如…

    编程 2024-10-04
  • n3450能学python(n3450能玩什么)

    本文目录一览: 1、学python用什么配置的电脑 2、学python用什么笔记本电脑 3、学习python可不可以用笔记本电脑? 4、学习python的电脑需要怎样的配置?求最低…

    编程 2024-10-03
  • Seleniumdocker详解

    Seleniumdocker是一个基于Selenium与Docker技术的自动化测试框架,能够实现在Docker容器内运行Selenium浏览器驱动,提供更快速、稳定、易于维护的测…

    编程 2024-11-18
  • Java计算阶乘

    阶乘是数学中的一个概念,表示一个正整数及其之前所有正整数的乘积,例如5的阶乘为5×4×3×2×1=120。在Java中,如何快速、准确地计算一个数的阶乘呢?本文将从多个方面进行阐述…

    编程 2024-10-04
  • java数组参数,数组类型参数

    本文目录一览: 1、java函数中怎么用数组做参数 2、java中数组是怎么作为函数参数进行传递的 3、java中 数组可以作为形式参数传递到调用的方法中吗?要怎么操作? java…

    编程 2024-11-29
  • php删除cookies,php删除文件夹

    本文目录一览: 1、php 如何清除当前域的所有cookie 2、3.PHP核心技术 3、php 清除COOKIE值的方法 4、php怎么删除cookie深入探讨 5、如何删除有一…

    编程 2024-12-07
  • 联想lj2655dn打印机清零方法详解

    一、预备知识 在进行联想lj2655dn打印机清零方法之前,您需要了解以下知识。 1. 打印机清零 打印机清零是指还原打印机的出厂设置,使其恢复到初始状态。在使用打印机时,清零可以…

    编程 2024-11-28
  • java文件读写,java文件读写异常

    本文目录一览: 1、java文件读写 2、JAVA的文件读写问题 3、java文件读写,在一个已经有内容的文件中,追加第一行,如何做到? 4、Java中对文件进行读写操作的基本类是…

    编程 2024-10-03

发表回复

登录后才能评论