mysqllinux源码安装
这个可以这样
比如解开源码包, 得到一个文件夹ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是这个思路
㈡ linux上怎么安装mysql
1. 运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.3
2. 安装方法:
安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过编译过的二进制文件进行安装。二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件;第二种是使用RPM或其他包进行安装,这种安装进程会自动完成系统的相关配置,所以比较方便。
3. 下载安装包:
2. 下载文件(根据操作系统选择相应的发布版本):
a. 通用安装方法
mysql-5.5.29-linux2.6-x86_64.tar.gz
b. RPM安装方法:
MySQL-server-5.5.29-2.el6.x86_64.rpm
MySQL-client-5.5.29-2.el6.x86_64.rpm
4. 通用安装步骤
a. 检查是否已安装,grep的-i选项表示匹配时忽略大小写
[root@localhost JavaEE]#rpm -qa|grep -i mysql
mysql-libs-5.1.61-4.el6.x86_64
*可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了--nodeps选项,忽略了依赖关系:
[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps
b. 添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。
[root@localhost JavaEE]#groupadd mysql
[root@localhost JavaEE]#useradd -r -g mysql mysql
*useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
c. 将二进制文件解压到指定的安装目录,我们这里指定为/usr/local
[root@localhost ~]# cd/usr/local/
[root@localhost local]#tar zxvf /path/to/mysql-5.5.29-linux2.6-x86_64.tar.gz
*加压后在/usr/local/生成了解压后的文件夹mysql-5.5.29-linux2.6-x86_64,这名字太长,我们为它建立一个符号链接mysql,方便输入。
[root@localhost local]#ln -s mysql-5.5.29-linux2.6-x86_64 mysql
d. /usr/local/mysql/下的目录结构
Directory
Contents of Directory
bin
Client programs and the mysqld server
data
Log files, databases
docs
Manual in Info format
man
Unix manual pages
include
Include (header) files
lib
Libraries
scripts
mysql_install_db
share
Miscellaneous support files, including error messages, sample configuration files, SQL for database installation
sql-bench
Benchmarks
e. 进入mysql文件夹,也就是mysql所在的目录,并更改所属的组和用户。
[root@localhost local]#cd mysql
[root@localhost mysql]#chown -R mysql .
[root@localhost mysql]#chgrp -R mysql .
f. 执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,或者用root执行,但是加上参数--user=mysql。
[root@localhost mysql]scripts/mysql_install_db --user=mysql
*如果mysql的安装目录(解压目录)不是/usr/local/mysql,那么还必须指定目录参数,如
[root@localhost mysql]scripts/mysql_install_db --user=mysql \
--basedir=/opt/mysql/mysql \
--datadir=/opt/mysql/mysql/data
*将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。
[root@localhost mysql]chown -R root .
[root@localhost mysql]chown -R mysql data
g. 复制配置文件
[root@localhost mysql] cp support-files/my-medium.cnf /etc/my.cnf
h. 将mysqld服务加入开机自启动项。
*首先需要将scripts/mysql.server服务脚本复制到/etc/init.d/,并重命名为mysqld。
[root@localhostmysql] cp support-files/mysql.server /etc/init.d/mysqld
*通过chkconfig命令将mysqld服务加入到自启动服务项中。
[root@localhost mysql]#chkconfig --add mysqld
*注意服务名称mysqld就是我们将mysql.server复制到/etc/init.d/时重命名的名称。
*查看是否添加成功
[root@localhost mysql]#chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
i. 重启系统,mysqld就会自动启动了。
*检查是否启动
[root@localhost mysql]#netstat -anp|grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2365/mysqld
unix 2 [ ACC ] STREAM LISTENING 14396 2365/mysqld /tmp/mysql.sock
*如果不想重新启动,那可以直接手动启动。
[root@localhost mysql]#service mysqld start
Starting MySQL.. SUCCESS!
j. 运行客户端程序mysql,在mysql/bin目录中,测试能否连接到mysqld。
[root@localhost mysql]#/usr/local/mysql/bin/mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 2
Server version:5.5.29-log MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registeredtrademark of Oracle Corporation and/or its affiliates. Other names may betrademarks of their respective owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql> quit
Bye
*此时会出现mysql>命令提示符,可以输入sql语句,输入quit或exit退出。为了避免每次都输入mysql的全路径/usr/local/mysql/bin/mysql,可将其加入环境变量中,在/etc/profile最后加入两行命令:
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
这样就可以在shell中直接输入mysql命令来启动客户端程序了
[root@localhost mysql]#mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 3
Server version:5.5.29-log MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registeredtrademark of Oracle Corporation and/or its
affiliates. Other namesmay be trademarks of their respective
owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql>
5. RPM安装步骤
a. 检查是否已安装,grep的-i选项表示匹配时忽略大小写
[root@localhost JavaEE]#rpm -qa|grep -i mysql
mysql-libs-5.1.61-4.el6.x86_64
可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸载时使用了--nodeps选项,忽略了依赖关系:
[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps
2. 安装MySQL的服务器端软件,注意切换到root用户:
[root@localhost JavaEE]#rpm -ivh MySQL-server-5.5.29-2.el6.x86_64.rpm
安装完成后,安装进程会在Linux中添加一个mysql组,以及属于mysql组的用户mysql。可通过id命令查看:
[root@localhost JavaEE]#id mysql
uid=496(mysql)gid=493(mysql) groups=493(mysql)
MySQL服务器安装之后虽然配置了相关文件,但并没有自动启动mysqld服务,需自行启动:
[root@localhost JavaEE]#service mysql start
Starting MySQL.. SUCCESS!
可通过检查端口是否开启来查看MySQL是否正常启动:
[root@localhost JavaEE]#netstat -anp|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 34693/mysqld
c. 安装MySQL的客户端软件:
[root@localhost JavaEE]#rpm -ivh MySQL-client-5.5.29-2.el6.x86_64.rpm
如果安装成功应该可以运行mysql命令,注意必须是mysqld服务以及开启:
[root@localhost JavaEE]#mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 1
Server version: 5.5.29MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademarkof Oracle Corporation and/or its affiliates. Other names may be trademarks oftheir respective owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql>
㈢ 怎么在linux下部署mysql 源码部署安装
查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
㈣ Linux 下二进制源码包安装mysql 详细过程
安装之前先把二进制源码准备好,可以从搜狐镜像下载:我准备的是mysql-5.5.15-linux2.6-i686.tar.gz
,linux
version
2.6.18-164.el5
实际工作中和虚拟机的配置有些地方可能会不相同
====================================================================
注意:mysql
安装的时候必须指定到
/usr/local
必须命名为mysql
二进制源码安装需要在安装目录/usr/local下运行
复制代码代码如下:
//创建用户mysql
*
groupadd
-g
3306
mysql
*
useradd
-g
mysql
-u
3306
-M
mysql
*
id
mysql
*
chown
-R
mysql:mysql
/mydata/
//
mysql对目录要有写权限
*
ll
-d
/mydata/
*
cp
/mysql-5.5.15-linux2.6-i686
/usr/local
*
cd
/usr/local/mysql
//
开始初始化
mysql
*
chown
-R
mysql:mysql
.
*
ln
-sv
/mysql-5.5.15-linux2.6-i686
mysql
*
scripts/mysql_install_db
--user=mysql
--datadir=/mydata/data
//
<span
style="color:#993300;">scripts脚本初始化</span>
初始化
用来生成mysql数据库
数据库用来存放表等源数据信息
复制代码代码如下:
//安装完成
下面配置启动
*
ls
support-files/
//
准备服务启动脚本
*
cp
support-files/mysql.server
/etc/init.d/mysqld
//
放入init.d
*
chkconfig
--add
mysqld
//
加入服务列表
*
chkconfig
--list
mysqld
//
--list
显示出来
复制代码代码如下:
//此时可以启动mysql了
但还需要配置mysql
*
ls
/etc/my.cnf
*
ls
support-files/
*
cp
support-files/my-large.cnf
/etc/my.cnf
*
vim
/etc/my.cnf
[mysqld]
//
找到该段
并添加datadir
=
/mydata/data
datadir
=
/mydata/data
*
service
mysqld
start
//
开启服务
*
netstat
-tnl
//
3306
端口打开
*
echo
$PATH
*
/usr/local/mysql/bin/mysql
*
export
PATH=$PATH:/usr/local/mysql/bin
//
<span
style="color:#cc6600;">注意</span>:不加$
就仅仅剩下你添加的路径
*
vim
/etc/profile
//
在export
之前添加下面的路径
PATH=$PATH:/usr/local/mysql/bin
//
永久生效的路径配置方法
*
mysql
//
此时mysql已经可启动了
复制代码代码如下:
//mysql库文件的路径配置
*
ls
*
vim
/etc/ld.so.conf
//
修改库文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
规范的配置
当前目录下以.CONF结尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新加载所有库文件的路径
没有mysql的库文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加这些内容
*
ldconfig
-v
|
grep
mysql
//
修改之后在重新加载一次
否则服务器不知道
//mysql库文件的路径配置
*
ls
*
vim
/etc/ld.so.conf
//
修改库文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
规范的配置
当前目录下以.CONF结尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新加载所有库文件的路径
没有mysql的库文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加这些内容
*
ldconfig
-v
|
grep
mysql
//
修改之后在重新加载一次
否则服务器不知道
复制代码代码如下:
//头文件的配置
库文件有哪些函数以及函数在别人编写程序的时候怎么调用
怎么传递参数
参数类型是什么
返回值类型是是什么
必须找到库文件所对应的头文件
库文件对应的头文件在/
usr/include
*
ls
/usr/include/
*
ln
-sv
/usr/local/mysql/include
/usr/include/mysql
//
头文件的输出
*
vim
/etc/man
*
vim
/etc/man.config
//
添加Man
MANPATH
/usr/local/mysql/man
OK!
mysql
配置成功---
㈤ Linux下如何使用源码安装mysql且开启分区 mysql:mysql-5.1.61.tar.gz 求详细步骤~
1.实现linux下纯手动MySQL源码安装,首先要下载MySQL的源码,我下载的是MySQL-5.0.87.tar.gz 2.解压tar –xvf MySQL-5.0.87.tar.gz 3.进入MySQL-5.0.87 4.检测环境并指定安装目录:./configure --prefix=/usr/local/MySQL 检测出来缺什么就安装什么。我装的时候居然连gcc和g++都没有,没有编译器的话就要直接下载rpm包(已编译好的二进制文件)再安装到系统。 如下是安装gcc的命令(要先去下载这个包,这个地址有比较多的rpm包下载http://mirror.oa.com/SLES10-SP1-RPMS-32/): sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm 安装这些rpm包的过程中有些是已安装的,或者是自己依赖自己导致安装不了,反正安装不了就用强制安装并忽略依赖的命令 sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm –-force –nodeps 可能进过安装一系列的rmp包后,终于完成了环境检测。我大概装了10+个的rmp包才完成。。杯具啊 5.编译:make 6.安装:sudo make install 7.实现linux下纯手动MySQL源码安装中要进行配置。首先可以看到安装完的目录如下 在share/MySQL下打命令:ls –l | grep my- 出来的都是MySQL的配置文件,按照需要选择其中一个拷到/etc下命名为my.cnf /etc/my.cnf是MySQL默认读的配置文件的路径 8.修改var的可写权限。这是MySQL的数据库数据文件存放的位置,因为用当前用户来运行MySQL的后台程序可能没有这个目录的可写权限。 chmod 777 ./var –r 9.配置系统环境变量,使得可以直接执行MySQL的程序 系统的环境变量是放在/etc/profile下的,而用户的环境变量是放在用户的根目录下的.bashrc下 (1) /etc/profile的配置: PATH=/usr/local/MySQL/bin:$PATH PATH=/usr/local/MySQL/libexec:$PATH export PATH其中/usr/local/mydql/bin是MySQL主要的可执行程序的目录,而libexec是放MySQL的后台主程序MySQLd的 (2).bashrc的配置: set PATH=/usr/local/MySQL/bin:$PATH set PATH=/usr/local/MySQL/libexec:$PATH export PATH这里注意.bashrc里面是要加个set的。配置完后重登录就可以生效了 10.在启动MySQLd之前要先初始化它,执行MySQL_install_db 11.启动MySQLd,直接打MySQLd就可以了,因为之前配置过系统环境变量了 12.直接MySQL进入MySQL的命令行控制。默认是以当前用户名登录的,默认root是没有密码的 13.设置root的密码:MySQLadmin –u root password ‘123456’ 14.以root身份登录:MySQL –uroot –p 15.设置远程登录数据库。用户创建后默认是只能在本地登录的。 update user set Host='%’ where user=‘kuncai'; 这句是将kuncai这个用户的允许登录的地址改成任意,但不包括本地。也就是说这样kuncai这个用户就无法在本地登录了,只能远程登录。 只有root用户才能执行这句,所以要先以root用户登录到本地数据库才行。 flush privileges; 要再执行这句刷新缓存才能生效。以上的相关内容就是对linux下纯手动MySQL源码安装的介绍,望你能有所收获。 感谢你们能看到这些,如果大家有兴趣开个自己的-淘-宝-网-店,小成本的进行-创-业-尝试,可以加我Q1300-855-633,进行咨询联系
㈥ linux安装 mysql如何安装
你也可以先装好ftp服务,这样用起来会比较好点,FTP安装:
yum install vsftpd
1. 启动系统自带的VSFTPD
2.新建一个FTP账号
a. useradd 用户名 -d 文件存放路径 -s /sbin/nologin #/sbin/nologin 表示不能用来作为系统用户登录
b.passwd 用户名 #赋予新账号一个密码
cd /etc/vsftpd 然后 vi /chroot_list #新建一个文档chroot_list 在里面写上 用户名
3.vi /etc/vsftpd/vsftpd.conf
将#chroot_list_enable=YES和#chroot_list_file=/etc/vsftpd/chroot_list 前的#去掉
然后保存退出,重启VSFTPD
修改FTP路径
userdel -R zhougz
useradd -h /var/www/html zhougz
passwd zhougz
可以下载不可以上传(更改文件拥有者)
chown -R 用户:群组 /home/wwwroot(文件路径:就是你上传文件所在的路径)
4.这个时候登录FTP,会出现500 OPS的错误,有两个解决办法。
a.执行setsebool ftpd_disable_trans 1和service vsftpd restart或者直接关闭5.selinux=disabled(默认selinux=enforcing),/etc/selinux/config
b.目录权限问题,比如用户a,目录/ftphome/a
那么/ftphome这个目录属主和组都有读和执行权限,否则也会报500错误。这个也就是部分用户正常,而部分用户不能登录的原因。
***配置完成后记得重启电脑***
添加到防火墙
sudo /sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
sudo /etc/rc.d/init.d/iptables save
sudo /etc/rc.d/init.d/iptables restart
开机启动
方法一:
chkconfig vsftpd on service vsftpd start
方法二:
最简单的办法,把service vsftpd start加入/etc/rc.local即可。
从个人使用习惯上来说,chkconfig命令倒是蛮不错的选择.此命令也可以定义其它自动启动服务项次,大家可以试试哦!
进虽ysql解压的源码文件目录
./configure --prefix=/usr/local/mysql #设置mysql的安装路径
make && make install #编译,进行安装。
配置mysql
groupadd mysql #添加mysql组
useradd -g mysql mysql #添加mysql用户并加入到mysql组
cd /usr/local/mysql/ #切换到cd /usr/local/mysql/目录下
chown -R mysql . #改变当前目录下的所有者为mysql用户
chgrp -R mysql . #改变当前目录下的mysql用户的文件为mysql组
cd /usr/local/src/mysql-5.0.22/support-files #到源码mysql目录下的support-files下
cp my-medium.cnf /etc/my.cnf #拷贝文件到/etc/覆盖my.cnf 文件
cd /usr/local/mysql/bin #改变目录到/usr/local/mysql/bin
./mysql_install_db --user=mysql #以mysql身份初始化数据库
cd /usr/local/mysql #改变目录到/usr/local/mysql
chown -R mysql:mysql var #改变var目录所属mysql用户到mysql组
chmod 755 var #改变var目录权限
cd /usr/local/mysql/bin #改变目录到/usr/local/mysql/bin
./mysqld_safe --user=mysql & #以mysql用户启动库生成套接字
netstat -ant | grep 3306 #查看mysql是否启动,mysql用的是3306端口
./mysqladmin -u root password 'admin' #给mysql的root用户设置密码
cd /usr/local/src/mysql-5.0.22/support-files/ #改变目录到cd /usr/local/src/mysql-5.0.22/support-files/
cp mysql.server /etc/init.d/mysqld #拷贝文件用于开机自动启动
chmod 755 /etc/init.d/mysqld #给mysqld权限
chkconfig --add mysqld #添加mysqld服务到系统
chkconfig mysqld on #打开myslqd服务
service mysqld restart #启动mysql服务
测试mysql:
cd /usr/local/mysql/bin #改变目录到cd /usr/local/mysql/bin
./mysql -u root -p #登陆mysql
show databases; #查看数据库表
开机启动2
cp /mysql-5.0.22/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld //添加到启动
chmod +x /etc/rc.d/init.d/mysqld //添加运行权限
/usr/local/mysql/bin/mysqld_safe --user=mysql &
写入/etc/rc.d/rc.local
开机启动3
chkconfig mysqld on
chkconfig --list mysqld
2-5如果为on就OK
㈦ linux下源码安装mysql遇到困难了。菜鸟在线等答,跪谢!!!!!
现在的Linux发行版一般都预先安装了MySQL,会生成配置文件:/etc/my.cnf。如果你安装另一版本的MySQL,就会引起冲突。你那个异常可以这样处理:
修改/etc/my.cnf(如果不在/etc/下,那从别处找),找到有“skip-federated”字样的那一行,屏蔽之:
#skip-federated
当然,更好的解决方法是彻底移除旧的MySQL。
㈧ 在linux安装MySQL时采用源码编译安装,但是如何让MySQL的编译时间缩短呢
可以试试在使用make && make install 时添加-j参数,不限制内核进行编译安装。或者-j 后加内核数 。例如 make -j 4 && make install -j 4
优点:速度快会相对提高很多
缺点:消耗大量CPU,内存资源。
我做过一个测试,如果不限定内核 (16核 80GB内存 )的服务器编译安装mysql 5.0.7 安装时长大致在10分钟左右,但是测试时服务器CPU跑满100% ,内存消耗至少32GB。直接使用 make && make install 安装耗时45分钟,内存4GB ,CPU 10%左右。
㈨ linux 源码安装mysql时,使用cmake生成makefile时报错。
行与行之间需要连接符"\",最后一行不需要,要不然你就都写在同一行:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_USER=mysql
㈩ 如何用源码包安装的方式在linux中安装mysql5.6.25
查找以前是否安装有mysql,使用下面命令: rpm -qa|grep -i mysql 如果显示有如下包则说明已安装mysql mysql-4.1.12-3.RHEL4.1 mysqlclient10-3.23.58-4.RHEL4.1