您的位置:首页 > 运维架构 > Linux

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

2017-06-19 00:00 441 查看
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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql tar centos