如何源码安装mysql

如何源码安装mysql,第1张

方法/步骤

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

tcp0 0 0.0.0.0:33060.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 OPTIONQuery 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数据库的安装到这里就结束了

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,进行咨询联系


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7511278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存