mysql源码怎么安装 源码安装mysql57

如何源码安装mysql数据库这个可以这样
比如解开源码包, 得到一个文件夹ABC
cd ABC
mkdir build-mysql
cd build-mysql
cmake ..
make
make install
就是这个思路
如何源码安装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版操作系统的最小安装完成后mysql源码怎么安装,在/etc目录下会存在一个my.cnfmysql源码怎么安装,需要将此文件更名为其他的名字mysql源码怎么安装,如:/etc/my.cnf.bakmysql源码怎么安装,否则,该文件会干扰源码安装的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
tcp00 0.0.0.0:33060.0.0.0:*LISTEN24351/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[确定]

推荐阅读