CentOS 6.5下安装MySql 5.7
环境:
1)、软硬件:E6420双核CPU,8G内存,1T硬盘
2)、虚拟机下 CentOS 6.5 64位 最小化桌面安装 (1个CPU,2个核心, 2G内存,35G硬盘)
3)、安装包放在/usr/local/src/LAMP目录下
1、yum安装编译环境
[root@slave08 ~]# yum -y install make gcc gcc-c++ zlib-devel libaio
2、配置防火墙,开启 80 端口、 3306 端口
[root@slave08 ~]# vi /etc/sysconfig/iptables
加入以下行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许80端口通过防火墙
最后重启防火墙使配置生效
[root@slave08 ~]# /etc/init.d/iptables restart
3、关闭 SELINUX
[root@slave08 ~]# vi /etc/selinux/config
详细修改如下所示:
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
[root@slave08 ~]# shutdown -r now # 重启系统
4、下载安装 cmake
[root@slave08 ~]# cd /usr/local/src/LAMP
[root@slave08 LAMP]# tar -zxvf cmake-3.0.2.tar.gz
[root@slave08 LAMP]# cd cmake-3.0.2
[root@slave08 cmake-3.0.2]# ./bootstrap
[root@slave08 cmake-3.0.2]# gmake
[root@slave08 cmake-3.0.2]# make
[root@slave08 cmake-3.0.2]# make install
5、yum 安装 ncurses-devel
[root@slave08 ~]# yum -y install ncurses-devel
6、创建用户、组和目录
[root@slave08 LAMP]# groupadd mysql //添加组
[root@slave08 LAMP]# useradd mysql -g mysql //添加用户
[root@slave08 LAMP]# passwd mysql //修改密码
[root@slave08 LAMP]# mkdir /usr/local/mysql //mysql安装目录
[root@slave08 LAMP]# mkdir /usr/local/mysql/data //mysql数据目录
[root@slave08 LAMP]# chown -R mysql.mysql /usr/local/mysql //设置
7、 编译安装 mysql-5.7.5
[root@slave08 ~]# cd /usr/local/src/LAMP
[root@slave08 LAMP]# tar -zxvf mysql-5.7.5-m15.tar.gz
[root@slave08 LAMP]# cd mysql-5.7.5-m15
[root@slave08 mysql-5.7.5-m15]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_DATADIR=/usr/local /mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DDOWNLOAD_BOOST=0 -DWITH_BOOST=/usr/local/src/LAMP
[root@slave08 mysql-5.7.5-m15]# make
[root@slave08 mysql-5.7.5-m15]# make install
注意:若第一次的配置错误,需要先删除当前mysql源码目录中的CMakeCache.txt,然后再重新进行cmake配置。
cmake参数说明:
-DCMAKE_INSTALL_PREFIX= 数据库程序安装路径;
-DMYSQL_DATADIR= 数据库文件存放路径(不配置的话会默认创建$PREFIX_DIR/data)
-DMYSQL_UNIX_ADDR= 默认位置是/var/lib/mysql/mysql.sock,如果指定其他路径,需要做一个软链接,或者在配置文件my.cnf中进行设置。
-DDEFAULT_CHARSET= 默认数据库编码
-DDEFAULT_COLLATION=默认数据库整理编码-DWITH_EXTRA_CHARSETS= 扩展支持编码(all | utf8,gbk,gb2312 | none)
-DWITH_MYISAM_STORAGE_ENGINE= MYISAM引擎支持(1|0)
-DWITH_INNOBASE_STORAGE_ENGINE= innoDB引擎支持(1|0)
-DWITH_MEMORY_STORAGE_ENGINE= MEMORY引擎支持(1|0)
8、权限设置:
[root@slave08 ~]# cd /usr/local/mysql
[root@slave08 mysql]# chown -R root.mysql .
[root@slave08 mysql]# chown -R mysql.mysql ./data
9、修改配置文件 my.cnf
[root@slave08 mysql]# vi /etc/my.cnf
配置如下:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/mysql_error.log
pid-file=/usr/local/mysql/mysql.pid
socket=/usr/local/mysql/mysql.sock
user=mysql
port=3306
explicit_defaults_for_timestamp=true
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/mysql_error.log
pid-file=/usr/local/mysql/mysql.pid
10、初始化数据库
[root@slave08 ~]# cd /usr/local/mysql/bin
[root@slave08 bin]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
11、设置 mysqld 的开机启动
[root@slave08 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@slave08 ~]# chmod 775 /etc/init.d/mysql
[root@slave08 ~]# chkconfig mysql on
[root@slave08 ~]# shutdown -r now
12、修改 root 密码
[root@slave08 ~]# service mysql stop
[root@slave08 ~]# rm /var/lock/subsys/mysql
[root@slave08 ~]# chown -R mysql.mysql /usr/local/mysql/
[root@slave08 ~]# cd /usr/local/mysql/bin
[root@slave08 bin]# ./mysqld_safe --user=mysql --skip-grant-tables & //用Ctr+c结束
[root@slave08 bin]# ./mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(‘newpassword‘); //请将newpassword更换为自己设定的密码即可,其他不变
mysql> FLUSH PRIVILEGES;
mysql> quit
[root@slave08 bin]# service mysql start
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。