首页 > 编程知识 正文

7上源码编译安装mysql(源码编译教程)

时间:2023-12-09 14:12:28 阅读:313563 作者:ONTF

本文目录一览:

  • 1、如何安装mysql
  • 2、centos7 安装mysql时怎么对表进行初始化
  • 3、如何源码安装mysql
  • 4、centos7怎样安装mysql服务器
  • 5、linux7下怎样源码安装mysql5.6

如何安装mysql

给你个链接,我第一次就是照这个安装的,讲的比较通俗易懂

用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤。

(我这个写得有点太详细了,甚至有些繁琐,有很多步骤在其他的教程文档里都是省略掉的,但我还是要写出来,因为我当时走了很多弯路,我希望你们能够避免我走的这些弯路。当然,知道同学的可以略过,选择你想知道的地方看)

工具/原料

• 电脑 win7 64bit

方法/步骤

1

第一大步:下载。

a.俗话说:“巧妇难为无米之炊”嘛!我这里用的是 ZIP Archive 版的,win7 64位的机器支持这个,所以我建议都用这个。因为这个简单嘛,而且还干净。

地址见图:

拉倒最下面,看清楚了64bit ZIP Archive ,点击Download。

2

b.点开之后会进入另一个页面,但却没有开始下载,这个时候不用怕,看不懂没关系,你只要知道他是要让你们登录(login),或者 申请账号(sign up)个就行了,登录或者申请成功后就会开始下载。(记住密码要字母和数字组合,字母要有大写)

c.注意:密码要字母和数字组合,字母要有大写字母

4

d.当然你如果有账户的话,也可以直接登录进去

5

成功后点击DownNow。文件不大,才200多M,很快的,稍等一下(成功后按理说也是到达下面这个地方的,但假如不知这样的话,你自己找一下,或者直接退出来,重复以上步骤,选登录那个就是了。

6

在多说一句,MySQL 是开源(open source)数据库,所谓开源就是可以查看源代码的,我相信很多童靴都会对这个感兴趣。那么在哪下源代码呢?

在刚进-(第一个图片那地址)的时候。有一个Select Platform,选择下面的source code就行。

(同理如果要下载linux平台下的MySQL也是在这找)

下载完毕,下面开始着手安装和配置

7

第二大步:安装(解压)

ZIP Archive版是免安装的。只要解压就行了。和安装版的没什么不同,但就是不需要安装。找到下载好的mysql-x.x.xx-winx64.zip右键选择(解压到...),找到你想安装的地方,喜欢放C:盘的就选择C:盘,不喜欢的就自己选个就是了,小编喜欢放D:盘,毕竟c:系统盘放的东西太多不好。解压完就ok了,是不是很简单?知道 ZIP Archive版的好处了吧

8

你是不是要问了?怎么用啊?bin点里面的mysql。exe怎么出来一个黑窗口就没反应了?

没反应是因为服务还没开!

没开,是不是打开就好了?

服务还没安装!

怎么安装?

下面讲!

9

第三大步:配置默认文件

其实理论上现在这样就可以直接安装服务了,但是因为是默认配置,我们使用的时候会出现很多问题。比如里面的汉字全是乱码之类的,所以建议你先配置一下默认文件。在mysql-x.x.xx-winx64(小编的是5.6.17根据自己的版本来定)目录下,新建个my.ini。复制下面的代码保存就ok了。my.ini会替换掉下面的my-default.ini文件。.ini文件是window里面的配置文件。保存里面各种默认的数据。安装版的是在安装的时候让你自己选然后系统给你保存进来,zip archive是自己写,都一样。里面的代码语法是什么意思童鞋们自己查相关资料吧。毕竟我一两句话说不清。这个文件在软件运行时加载。

10

代码:(把里面D:mysqlmysql-5.6.17-winx64改成你自己的软件路径,保存)

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=D:mysqlmysql-5.6.17-winx64

# 设置mysql数据库的数据的存放目录

datadir=D:mysqlmysql-5.6.17-winx64data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

11

第四大步:安装mysql服务

a开始-在面的搜索栏里面输入cmd,上面会出来一个cmd.exe,别忙着点确定,要右键这个cmd.exe选择一管理员的身份运行这个选项。不然会出现一个身份不够的错误码,具体数忘了。这是win7的一个特点。知道就行了。若是my.ini写错的话,错误码是1067.

(你也可以在C:WindowsSystem32目录下找到这个cmd.exe,同样右键它,以管理员身份确定。)

12

以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录,我的目录是图里面那个,你的话,要以你自己的目录为准。再输入mysqld install回车运行就行了,注意是是mysqld,不是mysql

出现安装成功就ok了。我由于已经安装了,所以结果就是这个了。

接着就是在输入 net start mysql 启动服务。或者不嫌麻烦就手动,打开服务手动启动了mysql服务了。

13

告诉大家一个win7打开服务界面的简单方法。打开任务管理器(右键选择任务管理器也好,ctrl+alt+delete也罢,随你喜好)。点下面的服务就ok了,是不是很简单,比控制面板那个方法简单多了吧。当然你也可以在cmd窗口里面输入services.msc也是可以的。

14

第五大步:打开MySQL

还是将目录切换到D:mysqlmysql-x.x.xx-winx64bin(x.xx.xxx是什么根据你自己的版本来吧)输入mysql -uroot -p ,默认是没有密码的。回车进入,当然我的已经设置密码了,所以要输入密码才能进。有密码的话,可以mysql -uroot -p密码,也是可以是mysql -uroot -p 回车输入密码,推荐第二种,原因,你动手之后就知道了。

设置密码的方法:mysqladmin -u root -p password 密码。

退出exit 就行了。记住直接关闭cmd窗口是没有退出的,要输入exit才会退出啊。

15

虽然打开mysql 了,但每次打开mysql 都要输入那么多指令切换目录是不是很讨厌?怎么弄呢?会的当然不用我说了,不会的也不用急,我来告诉你们。

右键我的电脑-属性-高级系统设置-环境变量-path-编辑,将你的mysql软件下的bin目录的全路径放里面。我建议童鞋们放在最前面,最后在那个目录的路径后面加个英文的分号(;)保存就行了。如D:mysqlmysql-x.x.xx-winx64bin;

为啥这样弄呢?原理是个啥?简单的说环境变量里面的path路径这东西,就是cmd系统的查找目录路径。你输入一个指令,系统怎么知道这个指令有没有呢?系统做了什么事?其实系统是在当前目录和系统环境变量path里面的路径全部查找一边,找到第一个为准,找不到就报错。所以我们要不每次都切换cmd目录,要不就设置了,以后就不需要再切换cmd路径了。

打个比方:系统就像一辆公交车。按着既定的路线走。环境变量里面的路径就是那个路线或者说是各个站。到了站(找到第一个)就下车(运行)。

16

现在配好了环境变量,让我们在来运行一下吧!

cmd-mysql -uroot -p -回车输入密码-show databases;查找数据库-use 数据库名;切换数据库目录-show tables;查找表-sql查询工作select * from 表名-exit退出。

其他的指令都输数据库操作方面的事了,小编就不赘述了,你们可以找一些相关的书。

17

小编是比较喜欢使用cmd窗口来操作mysql的,你用习惯了之后发现他是如此的方便快捷。比那什么图形化界面好用多了,而且你给mysql安个图形化界面就失去了他相比其他两个数据库的好的那些意义。小编强烈不推荐大家使用图形化界面操作mysql数据库。但你真要用我也没办法。给你们推荐几个图形化的管理工具:

1、phpMyAdmin

2、MySQLDumper

3、Navicat

4、MySQL GUI Tools

5、MySQL ODBC Connector

这些工具怎么安装我相信网上还是会有很多像我这样教程的,大家可以找下看看。

18

附加步步骤:为你的mysql瘦身

有没有没发现一个问题,你下载mysql压缩包的时候只有200M多一点,可解压只有竟然达到竟然的1G多,右键你的mysql-x.x.xx-winx64目录,选择属性来看看他的大小吧!为什么会这样呢,其实还是那个问题,mysql是开源的数据库,里面的源文件和debug等文件都没有删掉,这些文件其实没有什么用的,都删掉就是了。删掉dubug文件和.pdf文件。当然不止这一个目录里面有,自己找一下,但别删错了。删了之后是不是发现小了特别多!

END

注意事项

• 里面有没提到的错误,你们可以把错误码复制下来百度一下,我相信你们能遇到的错误别人也能遇到。

• 遇到问题要有耐心,问题解决了就是一个大的进步。不要怕遇到问题。你现在每遇到一个问题,在以后就是你所拥有的财富。

• 感谢大家不厌其烦的看我啰嗦这么多。

centos7 安装mysql时怎么对表进行初始化

对于源代码编译安装或者通过二进制包直接拷贝安装的mysql,默认并没有mysqld这个启动脚本。可以在源码包或者拷贝的二进制包的support files目录中拷贝mysql.server文件为/etc/init.d/mysqld,然后就可以通过service脚本管理服务了。

如何源码安装mysql

方法/步骤

1

[root@localhost soft]# groupadd mysql 添加mysql标准组

[root@localhost soft]# useradd -g mysql mysql 添加mysql用户并加到mysql组中

2

安装mysql

[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz

[root@localhost mysql-5.5.46]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径

# -DMYSQL_DATADIR=/usr/local/mysql/data #数据文件存放位置

# -DSYSCONFDIR=/etc #my.cnf路径

# -DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎

# -DWITH_INNOBASE_STORAGE_ENGINE=1 #支持InnoDB引擎

# -DWITH_MEMORY_STORAGE_ENGINE=1 #支持Memory引擎

# -DWITH_READLINE=1 #快捷键功能(我没用过)

# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock #连接数据库socket路径

# -DMYSQL_TCP_PORT=3306 #端口

# -DENABLED_LOCAL_INFILE=1 #允许从本地导入数据

# -DWITH_PARTITION_STORAGE_ENGINE=1 #安装支持数据库分区

# -DEXTRA_CHARSETS=all #安装所有的字符集

# -DDEFAULT_CHARSET=utf8 #默认字符

# -DDEFAULT_COLLATION=utf8_general_ci #校验字符

3

修改目录所有者和所有组

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

4

初始化数据库

[root@end mysql]# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/

5

复制mysql服务启动配置文件(注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。)

[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

注册为服务

[root@end mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

让chkconfig管理mysql服务

[root@end mysql]# chkconfig --add mysqld[root@end mysql]# chkconfig mysqld on

设置环境变量

在文件/etc/profile末尾添加

PATH=/usr/local/mysql/bin:$PATH

立即生效

[root@end mysql]# source /etc/profile

启动mysql服务

[root@end mysql]# service mysqld startStarting MySQL...

检查mysql服务是否启动

[root@end mysql]# netstat -tulnp |grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24351/mysqld

修改mysql用户root密码

[root@end mysql]# mysql -uroot 登录到mysql,首次登陆无密码

设置mysql密码

mysql SET PASSWORD = PASSWORD('endmoon');

Query OK, 0 rows affected (0.00 sec)

用设置的密码登录

[root@end mysql]# mysql -u root -pEnter password: endmoon

若要设置root用户可以远程访问,执行

mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.20' IDENTIFIED BY 'password' WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)

配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/etc/sysconfig/iptables,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT后面添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

[root@end mysql]# service iptables restart

使更改的防火墙配置生效 iptables:将链设置为政策 ACCEPT:filter [确定]

iptables:清除防火墙规则: [确定]

iptables:正在卸载模块: [确定]

iptables:应用防火墙规则:

mysql数据库的安装到这里就结束了

centos7怎样安装mysql服务器

本人博客供参考

网页链接

下载mysql源安装包shell wget  

安装mysql源shell yum localinstall mysql57-community-release-el7-8.noarch.rpm 

检查mysql源是否安装成功 

yum repolist enabled | grep “mysql.-community.” 

 

安装MySQL 

yum install mysql-community-server 

启动MySQL服务 

shell systemctl start mysqld 

查看MySQL的启动状态 

shell systemctl status mysqld 

开机启动 

shell systemctl enable mysqld 

shell systemctl daemon-reload 

修改root本地登录密码 

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改: 

shell grep ‘temporary password’ /var/log/mysqld.log 

 

shell mysql -uroot -p 

mysql ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass4!’; 

或者: 

mysql set password for ‘root’@’localhost’=password(‘MyNewPass4!’); 

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误 

添加远程登录用户 

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户: 

mysql GRANT ALL PRIVILEGES ON . TO ‘yangxin’@’%’ IDENTIFIED BY ‘Yangxin0917!’ WITH GRANT OPTION;

以上部分个人实践过,以下内容待实践

数据库存emoji 表情问题

mysql SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’; 

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

| Variable_name | Value | 

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

| character_set_client | utf8 | 

| character_set_connection | utf8 | 

| character_set_database | latin1 | 

| character_set_filesystem | binary | 

| character_set_results | utf8 | 

| character_set_server | latin1 | 

| character_set_system | utf8 | 

| collation_connection | utf8_general_ci | 

| collation_database | latin1_swedish_ci | 

| collation_server | latin1_swedish_ci | 

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

10 rows in set (0.02 sec) 

可以看到我的mysql版本是5.7的,utf8mb4有一个使用限制,mysql版本必须是5.5以上,大家需要注意,我目前用的ubuntu系统是16.04的。当前mysql的字符集配置如上表,我们的目的是更改成utf8mb4。 

3.找到mysql的配置文件,可用命令 

sudo find / -name my.cnf 

我的配置文件位置如下,个别的位置有所不同 

/etc/mysql/mysql.conf.d/mysqld.cnf

4.修改配置文件 

在原文中添加以下内容: 

[client] 

default-character-set = utf8mb4 

[mysql] 

default-character-set = utf8mb4 

[mysqld] 

character-set-client-handshake = FALSE 

character-set-server = utf8mb4 

collation-server = utf8mb4_unicode_ci 

init_connect=’SET NAMES utf8mb4’ 

原文件中无“[client]”和“[mysql]”,需要手动添加上。 

……

Here is entries for some specific programs

The following values assume you have at least 32M ram

[client] 

default-character-set = utf8mb4 

[mysql] 

default-character-set = utf8mb4 

[mysqld_safe] 

socket = /var/run/mysqld/mysqld.sock 

nice = 0 

[mysqld] 

#

* Basic Settings

user = mysql 

pid-file = /var/run/mysqld/mysqld.pid 

socket = /var/run/mysqld/mysqld.sock 

port = 3306 

basedir = /usr 

datadir = /var/lib/mysql 

tmpdir = /tmp 

lc-messages-dir = /usr/share/mysql 

skip-external-locking 

character-set-client-handshake = FALSE 

character-set-server = utf8mb4 

collation-server = utf8mb4_unicode_ci 

init_connect=’SET NAMES utf8mb4’ 

#

Instead of skip-networking the default is now to listen only on

……

5.重启mysql服务 

sudo service mysql restart

6.查看结果 

mysql SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’; 

ERROR 2006 (HY000): MySQL server has gone away 

No connection. Trying to reconnect… 

Connection id: 3 

Current database: * NONE * 

+————————–+——————–+ 

| Variable_name | Value | 

+————————–+——————–+ 

| character_set_client | utf8mb4 | 

| character_set_connection | utf8mb4 | 

| character_set_database | utf8mb4 | 

| character_set_filesystem | binary | 

| character_set_results | utf8mb4 | 

| character_set_server | utf8mb4 | 

| character_set_system | utf8 | 

| collation_connection | utf8mb4_unicode_ci | 

| collation_database | utf8mb4_unicode_ci | 

| collation_server | utf8mb4_unicode_ci | 

+————————–+——————–+ 

10 rows in set (0.00 sec)

linux7下怎样源码安装mysql5.6

查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql 如果显示有如下包则说明已安装mysql mysql-4.1.12-3.RHEL4.1 mysqlclient10-3.23.58-4.RHEL4.1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。