如何安装mysql 匹配_学习笔记----安装MySQL

安装MySQL

1.下载解压源代码包。

我的是mysql 5.1.48版本的。

2.添加mysql用户和组

[root@tigertall mysql-5.1.48]#groupadd  mysql

[root@tigertall mysql-5.1.48]#useradd -g mysql  mysq

3.编译安装

[root@tigertall mysql-5.1.48]# ./configure --enable-assembler \

--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static \

--with-charset=utf8 --with-collation=utf8_general_ci \

--with-extra-charsets=complex --enable-local-infile --disable-shared \

--with-plugins=all --with-mysqld-user=mysql --with-pthread \

--enable-thread-safe-client

然后,编译安装

[root@tigertall mysql-5.1.48]make && make install

编译配置指令的意思是,

--enable-assembler

# 启用寄存器模式

--with-client-ldflags=-all-static

#为客户端编译静态程序

--with-mysqld-ldflags=-all-static

#为服务器端编译静态程序

--with-charset=utf8

#数据库编码使用utf8,默认的是latin1,可以设置的是

#binary armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257

#cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8

#greek hebrew hp8 keybcs2 koi8r koi8u

#latin1 latin2 latin5 latin7 macce macroman

#sjis swe7 tis620 ucs2 ujis utf8

--with-collation =

#数据库校验规则,--with-carset要和withc-collation一起使用才有效。

#要想更改字符集和校对规则,要同时使用--with-charset和--with-collation选项。

#校对规则必须是字符集的合法校对规则。参见下面的链接

--with-extra-charsets=complex

#增加对复杂编码的支持(可选,none, complex, all)

--with-plugins=all

#安装所有插件,默认不安装,可以使用一系列逗号分隔符来描述要安装的内容。

#可用的配置为 none max max-no-ndb all

#可用的插件为 partition daemon_example

#ftexample archive blackhole csv example federated

#heap ibmdb2i innobase innodb_plugin myisam myisammrg

#ndbcluster.

--with-mysqld-user=mysql

#指定mysql守护进程的启动用户

--disable-shared

# 禁用共享库

--with-pthread

#强制使用pthread库

--enable-thread-safe-client

#如果客户端使用多线程,那么应该使用此选项以编译线程安全的客户端

还有一些编译指令是,

--prefix=/usr/local/mysql  # 不说了

--with-tcp-port=3306

#mysqld守护进程使用的端口,默认就是3306

--with-unix-socket-path=/tmp/mysql.sock

#unix套接字库路径,默认是/tmp/mysql.sock

--with-debug 和 --with-debug=full

#生成调试代码和库 witout-debug关闭调试

关于字符集和编码参见:

msql 5.1参考手册,第10章:字符集支持

4.一些问题

a).执行编译配置的时候报错

/bin/rm: cannot remove `libtoolt‘: No such file or directory

网上搜寻后,解决问题。具体方法是:

在执行./configure 之前,先执行:

# autoreconf –force –install

# libtoolize –automake –force

# automake –force –add-missing

# ./configure –prefix=/usr/local/mysql/ –datadir=/var/lib/mysql

这次,不再出错了,问题解决。(好像只要执行完第一命令后,在./configure 就不会报错了。)

5.Mysql安装后的设置

在Unix上安装MySQL后,需要初始化授权表、启动服务器,并确保服务器工作正常。

你还要让服务器随系统的启动和停止自动启动和停止。应当为授权表中的账户指定密码。

1.切换到mysql的安装后路径,这里是

cd /usr/local

2.初始化授权表

运行mysql_install_db程序设置含有确定如何让用户连接服务器的权限的初始MySQL授权表。

如果你使用的分发版类型不能运行程序,你需要执行该步骤。

典型,只有首次安装MySQL时,才需要运行mysql_install_db,

因此如果你升级已有的安装你可以跳过该步骤,

但mysql_install_db不会覆盖已有的授权表,因此可以在任何环境下安全运行。

要想初始化授权表,使用下面的一个命令:

shell> bin/mysql_install_db --user=mysql

mysql_install_db脚本创建数据目录、拥有所有数据库权限的mysql数据库

和可以用来测试MySQL的test数据库。脚本为root账户和匿名用户账户创建授权表条目。

账户一开始没有密码。简单说,这些权限允许MySQL root用户执行任何操作,

允许任何人使用test名创建或使用数据库或用test_启动。

一定要确保由mysql登录账户拥有数据库目录和文件,以便在以后运行时 服务器具有读、写访问权限。

为此,如果你用root用户运行mysql_install_db,应当使用--user选项。

否则,当以mysql登录时,应当执行脚本,你可以省略命令中的--user选项。

mysql_install_db在mysql数据库中创建几个表,包括user、db、host、

tables_priv、columns_priv和func以及其它。

3.启动mysql服务器

[root@tigertall local]# bin/mysqld_safe --user=mysql &

[1] 27463

[root@tigertall local]# 100719 02:59:05 mysqld_safe Logging to '/usr/local/var/tigertall.local.com.err'.

100719 02:59:05 mysqld_safe Starting mysqld daemon with databases from /usr/local/var

一定要让MySQL服务器使用非权限(non-root)登录账户运行。

为此,如果你以系统root运行mysql_safe,应当使用--user选项。

否则,你应当用mysql登录到系统来执行脚本,这样可以省略命令中的--user选项。

4.使用mysqladmin验证服务器在运行中。

以下命令提供了简单的测试,可检查服务器是否已经启动并能响应连接:

[root@tigertall local]# bin/mysqladmin version

[root@tigertall local]# bin/mysqladmin variablesy

验证关闭和重启服务器:

[root@tigertall local]# bin/mysqladmin -u root shutdown

[root@tigertall local]# bin/mysqld_safe --user=mysql --log &

5.安装自动启动守护

[root@tigertall local]# cp /usr/local/share/mysql/mysql.server /etc/init.d/mysql

[root@tigertall local]# chmod +x /etc/init.d/mysql

使用chkconfig设置守护进程的启动:

[root@tigertall local]#chkconfig --level 345 mysql on

在FreeBSD中,启动脚本通常应当位于/usr/local/etc/rc.d/。

手册的rc(8)页内说明只有该目录脚本的基本名匹配*.sh shell文件名模式,脚本才会执行。

目录内的其它文件或目录将被忽略掉。换句话说,在FreeBSD中,应当将mysql.server

脚本安装为 /usr/local/etc/rc.d/mysql.server.sh以便自动启动。

前面设置的另一种情况是,一些操作系统启动时也使用/etc/rc.local或

/etc/init.d/boot.local来启动其它服务。要想使用该方法启动MySQL

,你可以在相应启动文件后面追加一条命令:/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'

来安装启动脚本。

6.安装配置文件

[root@tigertall local]# cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf

目录/usr/local/share/mysql下有不同的配置文件,我用的是small,

其他还有medium,huge等等,可以根据自己的情况来处理。

下面的表显示了服务器和每个启动脚本从选项文件读取哪个选项组:

脚本

选项组

mysqld

[mysqld],[server],[mysqld-major-version]

mysql.server

[mysqld],[mysql.server],[server]

mysqld_safe

[mysqld],[server],[mysqld_safe]

[mysqld-major-version]意味着名为[mysqld-5.0]的组,

[mysqld-5.1]用于版本为5.0.x、5.1.x等的服务器。

该特性可以用来指定只被给定发布系列的服务器读取的选项。

为了向后兼容,mysql.server还读取[mysql_server]组,

mysqld_safe还读取[safe_mysqld]组。

然而,当使用MySQL 5.1时,你应当更新选项文件,使用[mysql.server]和[mysqld_safe]组。

7.其他

到了这里,mysql应该是可用的了,之后就是设置密码之类的了。

其他一些常见问题,请参考mysql安装手册中

这篇文章也是按照手册的指导来写的,感觉官方的文档真的很不错。

8.修改root用户密码

[root@tigertall local]# mysql -u root

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

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

用服务器主机名替换第二个SET PASSWORD语句中的host_name。这是你指定匿名账户密码的主机名。

要想使用mysqladmin为root账户指定密码,执行下面的命令:

[root@tigertall local]# mysqladmin -u root password "newpwd"

[root@tigertall local]# mysqladmin -u root -h host_name password "newpwd"

上述命令适用于Windows和Unix。用服务器主机名替换第二个命令中的host_name。

不一定需要将密码用双引号引起来,但是你如果密码中包含空格或专用于命令解释的其它字符,

则需要用双引号引起来。

你还可以使用UPDATE直接修改user表。

下面的UPDATE语句可以同时为两个root账户指定密码:

[root@tigertall local]# mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')-> WHERE User = 'root'

mysql> FLUSH PRIVILEGES;

设置完密码后,当你连接服务器时你必须提供相应密码。

例如,如果你想要用mysqladmin关闭服务器,可以使用下面的命令:

[root@tigertall local]# mysqladmin -u root -p shutdown

Enter password: (enter root password here)

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

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

相关文章

Linux中的通配符

Linux中的通配符 Linux中的通配符 *匹配任意长度的任意字符,可以没有?匹配任意单个字符,至少有1个[ ]匹配指定字符范围内的任意单个字符[a-z,A-Z,0-9]匹配所有数字和字母[a-z]匹配a-z中的一个[A-Z]匹配A-Z中的一个[a-Z]匹配所有大小写字母[:upper:]所…

mysql区间段_解决针对MySQL中对于某一个区间段范围的数据更新的情况

(1)在使用更新update的过程中,我们可能会想要更新比如id段在某一个指定范围内的数据,如果我们是想要更新前面多少行的数据的话可以直接:UPDATE tb_name SET column_name‘value‘ ORDER BY id ASC LIMIT 20;比如我想要把下面的这个员工信息表…

SpringBoot实现执行sql语句打印到控制台

SpringBoot实现执行sql语句打印到控制台 1.简介 每当写完持久化语句时肯定免不了要查漏补缺一波。这里就可以将执行的sql打印到控制台来检查sql语句哪里出了问题。 2.配置 配置非常简单,只需要在配置文件中设置下mapper日志级别就可以了 application-test.prop…

Java 8 lamda Stream的Collectors.toMap 参数

java 8 lamda Stream的Collectors.toMap 参数 使用toMap()函数之后,返回的就是一个Map了,自然会需要key和value。 toMap()的第一个参数就是用来生成key值的,第二个参数就是用来生成value值的。 第三个参数用在key值冲突的情况下:…

Java8中的Collectors.groupingBy用法

Collectors.groupingBy根据一个或多个属性对集合中的项目进行分组 数据准备: public Product(Long id, Integer num, BigDecimal price, String name, String category) {this.id id;this.num num;this.price price;this.name name;this.category category; …

什么是CDN,有何作用?

cdn顾名思义是一个英文缩写,全称是contentdeliverynetwork(内容分发网络),即服务商通过在世界各地部署大量服务器节点,缓存源站静态资源(目标服务器),当用户访问时返回最优线路的资源…

BigDecimal中divide(除)方法注意问题_BigDecimal 判断大于小于

BigDecimal中divide方法抛异常: Non-terminating decimal expansion; no exact representable decimal resultIdea也会给出警告 原因是在做除法的时候出现了无限不循环小数如:33.333333333333 解决方案 在做除法的时候指定保留的小数的位数: BigDecimal rate …

python 字符串操作速度_强者一出,谁与争锋?与Python相比,C+的运行速度究竟有多快?|python|编程语言|字符串|示例|算法...

对于数据科学家而言,热爱Python的理由数不胜数。但你是否也曾问过这样的问题:Python和C或C等更专业的低级编程语言究竟有何不同呢?我想这是很多数据科学家或者Python用户曾经问过或者将来会问自己的问题。Python和C类语言之间存在许多区别,本…

Maven私有仓库、上传jar包、引用私服jar包、上传本地项目到私服_将已有jar包部署到私服

Maven私有仓库、上传jar包、引用私服jar包、上传本地项目到私服 搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找—>私有仓库—>中心仓库… 然而,我们…

java水泡_JAVA图像处理系列(八)——艺术效果:水泡

艺术效果水泡通过对图像进行变形或叠加其他图片,能够实现许多有趣的艺术效果,本文介绍类似水泡效果的实现方式,下面先看一下实现的效果。第一张为原始图像,第二张为叠加水泡效果的图像。cat.jpgcat_belb.jpg算法原理图像中的水泡效…

SpringBoot中调用第三方接口的三种方式

使用SpringBoot跨系统调用接口的方案 一、简介 项目开发中存在系统之间互调问题,又不想用dubbo,这里提供几种SpringBoot方案: 1、使用Feign进行消费(推荐) 2、使用原始httpClient请求 3、使用RestTemplate方法 二…

java读word_java读word文件(示例代码)

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。1.读取word 2003及word 2007需要的jar包读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi-3.5-beta6-20090622.jar 和 poi-scra…

Dubbo调用远程服务详解_导入jar方式

Dubbo调用远程服务 1.创建公共接口模块api 公共接口主要用于存放接口对象,这里我们只创建一个服务层的接口IndexService用于远程调用服务的测试 package com.example.dubboapi.service;public interface IndexService {String echo(); }

Dubbo SpringBoot+Dubbo泛化的使用,以及开发时直连本地的Dubbo服务(Dubbo指定点对点调用服务)

​ 一般情况我们使用dubbo)通过rpc调用dubbo提供方的服务,首先要在消费者的项目中引入接口提供者的jar包(provider端暴露的接口和方法),然后使用jar包里面的类和方法,两端才能正常通信调用。但是如果要调N个不同服务提…

java string... 参数_Java String.Format() 方法及参数说明

JDK1.5中,String类新增了一个很有用的静态方法String.format():format(Locale l, String format, Object... args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。format(String format, Object... args) 使用指定的格式字符串和参数返回一个格式化字…

Unity3D VS UE4

Unity3D(U3D) 1.视觉效果:Unity3D相对UE4略逊、手机3D应用、3D游戏轻量级首选,支持跨平台、设备兼容性更好 2.产品力:Unity3D更加多元化,各平台都有代表作,比如《王者荣耀》《炉石传说》《纪念…

java 打包边下载_JAVA实现边下载边压缩

ResponseBodypublic voiddownloadUrl(HttpServletResponse response, HttpServletRequest request){String sourceFilePathproperties.getString("sourceFilePath");//要下载的文件路径eavlProName xxx;//项目名String downloadName "xxx.zip"; //下载文…

Java将时间加1分钟的方法

SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now new Date(); System.out.println("当前时间:" sdf.format(now));方法一: Date afterDate new Date(now .getTime() 60000); System.out.println…

对List集合中每个对象元素按时间顺序排序

需求&#xff1a; 需要对List中的每个student对象按照birthday顺序排序&#xff0c;时间由小到大排列。 1. 刚开始用的是冒泡排序&#xff0c;出现数据覆盖的情况 for (int i 0; i < list.size() - 1; i) {for (int j 0; j < list.size() - 1 - i; j) {long time li…

SpringBoot读取resource或template中的文件

Spring-Boot读取resource或template中的文件 1.项目场景&#xff1a; 以jar包方式部署系统&#xff0c;想读取resource或是template下面的文件时&#xff0c;报 File Not Found 我遇到的情况是&#xff0c;整个项目达成了一个包&#xff0c;在开发环境&#xff08;windows i…