编译安装mysql步骤(超详细)
注意我下载的是mysql-5.5.28-linux2.6-i686.tar.gz,这个mysql已经是编译好了的。
userdel-r mysql(把原来自动创建的mysql用户清掉,当然不清也行,我习惯清掉,然后再创建,由于mysql的服务端口号为tcp的3306,所以我习惯将mysql用户id设为306(这里不设3306的原因是mysql用户为系统用户,id号必须小于500,所以设306))。
groupadd-r-g306mysql
useradd-g306-r-u306mysql
id mysql(查看创建的mysql用户和组信息是否正确)
tar zxvf mysql-5.5.28-linux2.6-i686.tar.gz-C/usr/local
cd/usr/local/
ls(发现有mysql-5.5.28-linux2.6-i686文件夹)
ln-sv mysql-5.5.28-linux2.6-i686mysql(将mysql-5.5.28-linux2.6-i686文件夹做一个mysql 连接)
cd mysql
ll
(另:mysql官方给出的安装步骤在mysql下的INSTALL-BINARY里,less INSTALL-BINARY即可查看,但现在只用按我的步骤往下就行了)
chown-R mysql.mysql/usr/local/mysql/*
mkdir/mydata
mkdir/mydata/data(在/下的mydata文件夹里创建一个data文件夹用于保存数据,公司里一般使用一个新的磁盘,想了解为系统添加一个新的磁盘并制作为LVM分区的可以联系我再写文档)
ll/mydata/(看到所属用户和所属组为root.root,这是不行的,mysql用户要往里写东西)
chown-R mysql.mysql/mydata/data/
ll/mydata/
chmod o-rx/mydata/data/(不给其他用户任何权限,保证数据安全)
ll/mydata/(验证其他用户没有任何权限)
scripts/mysql_install_db--user=mysql--datadir=/mydata/data/(初始化mysql)
ll
chown-R root/usr/local/mysql/*(万一有人攻破mysql进程,则不安全,所以改为root 用户)
但要注意实际data目录要mysql.mysql。
现在data目录我们设为/mydata/data,所以此目录里的所属用户为root也没事儿,不影响。
ls/etc/init.d/(无mysqld)
cp support-files/mysql.server/etc/init.d/mysqld
ll/etc/init.d/mysqld
chkconfig--add mysqld(为系统增加mysql服务)
chkconfig--list mysqld(看看默认是否会启用,3,4,5是“on”状态即可)
下面添加mysql配置文件:
安装包给我们提供的也有配置文件,也在support-files下
mv/etc/f/etc/f.bak将原来的配置文件重命名(让它不起作用)
cp support-files/f/etc/f(复制配置文件,support-files下有很多配置文件,具体要看你的系统运行内存大小来确定要复制的文件,我的运行内存是1G,所以选的是f,小于1G的可以选medium或small。
)
vim/etc/f
注:这个配置项由cpu个数决定,个数*2(cat/proc/cpuinfo即可查看cpu个数,看processor 有几段即为有几个cpu)
这个选项为配置mysql存放数据的目录,将目录改为/mydate/data
service mysqld start
netstat-tnlp
发现3306已启动
ls/usr/local/mysql/bin/
发现客户端已安装
vim/etc/profile.d/mysql.sh
写入:export PATH=$PATH:/usr/local/mysql/bin
注销root重新登录
mysql(即可进入mysql)
\q退出mysql。
为保证在一定条件能正确使用mysql库文件,就要将mysql库文件输出。
将mysql库文件输出的方法如下:
vim/etc/ld.so.conf.d/mysql.conf
ldconfig-v使其生效
同时应将mysql的include也在/usr/include/下做个链接,确保完美运行。
方法如下:
ln-sv/usr/local/mysql/include/usr/include/mysql
ls/usr/include/mysql/
大功告成,此步骤由“怜”整理,本文档仅做学习交流使用,大晚上的整理此笔记可能会有遗漏之处,如有不足请各位大神指正!如想了解更多内容请关注我的微信公众平台(二维码在下面):进思linux运维。