Centos6.8下tar包编译安装mysql-5.7.15

1、在线安装经常受制于网络环境,所以我偏爱tar包编译安装(注:我的centos是64位)。

  首先去mysql镜像站下载 mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz,并把tar包传到centos,比如/root/Downloads

2、检查你所用的centos下有没有安装过mysql,有没有卸载干净

rpm -qa|grep -i mysql

如果存在,则需要先卸载掉,不然会出现覆盖错误。

yum remove mysql mysql-server mysql-libs mysql-server; 
find / -name mysql 将找到的相关东西删除掉; 
rpm -qa|grep mysql(查询出来的组件,用yum remove删掉)

3、解压缩

# tar -xzvf mysql-5.7.15-linux-glibc2.5-x86_64.tar.gz # 解压文件 
# cd mysql-5.7.15-linux-glibc2.5-x86_64 # 进入文件夹
# mv /usr/local/mysql-5.7.15-linux-glibc2.5-x86_64 /usr/local/mysql #文件夹改名
# mkdir /usr/local/mysql/data # 如果mysql下没有的话,则创建文件夹data

4、创建mysql的用户组/用户

#userdel mysql # 删除用户 
#groupdel mysql # 删除用户组名 
#groupadd mysql # 创建一个名为mysql的用户组 
#useradd -g mysql -d /usr/local/mysql mysql # 在用户组下创建用户

5、编译安装

cd /usr/local/mysql/ 
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

记录上面成功安装后的密码,后面会用到!

6、配置mysql

cd /usr/local/mysql/support-files #进入mysql的安装目录支持文件目录 
cp my-default.cnf /etc/my.cnf # 拷贝配置文件模板为新的mysql配置文件

#设置编码,可按需修改新的配置文件选项, 不修改配置选项, mysql则按默认配置参数运行.

#如下是我修改配置文件/etc/my.cnf, 设置编码为utf8以防乱码

vi /etc/my.cnf 
[mysqld]
 
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
 
character_set_server=utf8
init_connect='SET NAMES utf8'
  
[client]
default-character-set=utf8

此处需要注释掉

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

否则后续登陆时会报异常:

mysql: [ERROR] unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'

7、启动mysql服务

./support-files/mysql.server start

mysql已运行成功!!!

如果出现以下错误:

Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/bogon.pid).

需要给mysql账号对mysql所在文件夹赋权:

chown -R mysql:mysql /usr/local/mysql

8、配置mysql服务开机自动启动

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld      # 拷贝启动文件到/etc/init.d/下并重命令为mysqld
# chmod 755 /etc/init.d/mysqld                                # 增加执行权限
# chkconfig --list mysqld                                     # 检查自启动项列表中没有mysqld这个
# chkconfig --add mysqld                                      # 如果没有就添加mysqld:

# chkconfig mysqld on # 用这个命令设置开机启动:

9、mysql服务的启动/重启/停止

# service mysqld start # 启动服务 
# service mysqld restart # 重启服务 
# service mysqld stop # 停止服务

10、修改mysql用户root的密码

mysql -u root -p

输入上边自动生成的密码,进入mysql环境

如果出现以下提示:

-bash: mysql: command not found

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

# ln -s /usr/local/mysql/bin/mysql /usr/bin

以下是补充:

linux下,在mysql正常运行的情况下,输入mysql提示:

-bash: mysql: command not found

遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:

把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下: 

# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql

还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。

注:其中MYSQLPATH是mysql的实际安装路径

 

继续修改mysql用户root的密码

mysql> SET PASSWORD = PASSWORD('123456'); #PASSWORD()里面的123456 是设置的新密码,可以设置成你的密码

mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

mysql> flush privileges;

11、更改一些编码

mysql> use mysql

mysql> \s

mysql> show variables like 'character%';

mysql> SET character_set_database = utf8;

mysql> show variables like 'character%';

mysql> \s

12、mysql远程授权

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';

13、验证

退出mysql命令行,关闭防火墙

chkconfig iptables off

ok!

转载于:https://my.oschina.net/u/3437699/blog/983567

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值