centos6.9安装mysql5.7.19

来源:互联网 发布:路由器网络模式 编辑:程序博客网 时间:2024/05/12 03:18

本文是通过mysql二进制源码文件(即后缀为tar.gz格式)安装,并非使用yum方式,之所以不用yum方便快捷的安装,是因为yum上的mysql版本老旧,无法安装最新版本。

1.检查mysql是否已安装(这里检查的是通过yum安装的mysql,一般是centos系统自带的mysql,版本较低,建议卸载)

[root@centos ~]# yum list installed mysql*

2.如有安装,卸载旧版本

[root@centos ~]# yum remove MySQL-python.x86_64

3.下载最新版本的mysql源码文件,或通过wget方式下载

[root@centos local]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz

4.解压文件

[root@centos local]# tar -zxvf mysql-5.7.19.tar.gz -C /usr/local/src

解压的文件放在/usr/local/src目录下

5.安装相关编译依赖包

[root@centos ~]# cd /usr/local/src/mysql-5.7.19[root@centos mysql-5.7.19]# yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

安装boost库(否则后续编译过程中会报警告,从MySQL 5.7.5开始Boost库是必需的,而且貌似版本只能是boost_1_59_0)

[root@centos local] wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz[root@centos local] mkdir boost[root@centos local] tar zxvf  boost_1_59_0.tar.gz [root@centos local] mv boost_1_59_0 /usr/local/boost

6.新建用户(新建前先检查是否已有mysql用户,如果有删除,然后重新新建)

[root@centos mysql-5.7.19]# useradd -s /sbin/nologin -M mysql

7.创建相关目录

[root@centos mysql-5.7.19]# mkdir /usr/local/mysql[root@centos mysql-5.7.19]# mkdir /usr/local/mysqldata

8.编译安装

[root@centos mysql-5.7.19]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysqldata/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost/boost_1_59_0

以上大段内容均为cmake相关编译参数,直接复制粘贴即可(注意其中的三个目录路径)

[root@centos mysql-5.7.19]# make -j 4 && make install

编译期间可能会遇到一些警告,不影响编译进度,不知道会不会影响使用;

如果出错重新运行配置,需要删除CMakeCache.txt文件,使用命令:make clean rm -f CMakeCache.txt

9.经过漫长的等待。。。。。。。。真的很久。。。。要有耐心

10.终于编译完了,开始设置权限并初始化

[root@centos mysql-5.7.19]# chown -R mysql:mysql /usr/local/mysql/[root@centos mysql-5.7.19]# cd /usr/local/mysql/bin/[root@centos bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysqldata(此条初始化命令执行完毕在最后一行会生成一个初始密码,一定注意保存此密码,后面修改密码要用)[Note] A temporary password is generated for root@localhost: e7.T7f4q5&Di

11.修改配置文件

[root@centos bin]# vim /etc/my.cnf #修改为以下内容[mysqld]basedir =/usr/local/mysqldatadir=/usr/local/mysqldataport = 3306socket=/tmp/mysql.sockuser=mysql[client]socket=/tmp/mysql.sock

12.配置mysql服务开机自动启动

[root@centos bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld[root@centos bin]# ldconfig[root@centos bin]# chmod 755 /etc/init.d/mysqld #增加可执行权限[root@centos bin]# chkconfig --add mysqld[root@centos bin]# chkconfig --level 345 mysqld on #设置MySQL在345等级自动启动

13.设置环境变量

[root@centos bin]# echo "PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh[root@centos bin]# source /etc/profile

14.启动并登陆修改密码

[root@centos bin]# service mysqld start[root@centos bin]# mysql -uroot -p Enter password:#这里输入之前记录下来的密码mysql> set password = 'root';Query OK, 0 rows affected (0.00 sec)mysql> \qBye #退出并重新登陆验证是否修改成功

15.开启mysql的3306端口,编辑/etc/sysconfig/iptables文件,加入下面这句话

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

重启防火墙

[root@centos bin]# service iptables restart 

16.连接mysql授权

[root@centos bin]# mysql -uroot -p Enter password:mysql> use mysql;mysql>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;Query OK, 0 rows affected (0.02 sec)mysql> flush privileges;Query OK, 0 rows affected (0.02 sec)mysql> \qBye#此处注意,每条sql语句的“;”一定不能少

17.重启mysql服务

[root@centos bin]# service mysqld restart

18.查看mysqld状态

[root@centos bin]# service mysqld statusSUCCESS! MySQL running (12652)

19.使用终端数据库管理工具连接验证

20.至此mysql已安装完毕,服务器端删除相关tar.gz文件即可