博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下安装Mysql5.6
阅读量:7002 次
发布时间:2019-06-27

本文共 3618 字,大约阅读时间需要 12 分钟。

linux版本:CentOS6.5 64位

 

解决mysql自定义存储路径:

安装mysql并自定义存储路径

 

1、在安装mysql前,创建一个存储数据的目录

 

[plain] 
 
 
  1. mkdir -p /data/mysql  

 

2、设置软链接

 

[plain] 
 
 
  1. ln -s /data/mysql /var/lib/mysql  

 

3、安装mysql

以下是安装:

 

 

 

    1、下载安装包“mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz”    

到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (glibc 2.5) (x86, 64-bit),32位系统下载Linux - Generic (glibc 2.5) (x86, 32-bit)

 

 找到右上角,找到以前的版本,找5.6的版本,下载。

# 安装依赖yum -y install perl perl-devel autoconf

    2、把下载的安装包移动到/usr/local/下。

    3、解压

tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

    4、复制解压后的mysql目录到系统的本地软件目录

cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r

    5、添加系统mysql组和mysql用户

groupadd mysql useradd -r -g mysql -s /bin/false mysql
注意:Because the user is required only for ownership purposes, not login purposes, the useradd command uses the -r and -s /bin/false options to create a user that does not have login permissions to your server host. Omit these options if your useradd does not support them.

    6、进入安装mysql软件目录,修改目录拥有者为mysql用户

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

    7、安装数据库,此处可能出现错误。

./scripts/mysql_install_db --user=mysql

  报错1:   FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:

    Data::Dumper

#解决方法: yum install -y perl-Data-Dumper

 报错2:Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方法:

yum install libaio* -y

二进制安装mysql初始化出现:Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while loading shared

原因:缺少libaio库文件 

 

8、修改当前目录拥有者为root用户

chown -R root:root ./

    9、修改当前data目录拥有者为mysql用户

chown -R mysql:mysql data

============== 到此数据库安装完毕 =============

    10、添加mysql服务开机自启动

添加开机启动,把启动脚本放到开机初始化目录。

cp support-files/mysql.server /etc/init.d/mysql# 赋予可执行权限chmod +x /etc/init.d/mysql# 添加服务chkconfig --add mysql # 显示服务列表chkconfig --list

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行

chkconfig --level 345 mysql on

    11、启动mysql服务

#创建缺少的文件夹 mkdir /var/log/mariadb service mysql start

正常提示信息:Starting MySQL. SUCCESS!

报错:

Starting MySQL.171014 10:02:11 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

The server quit without updating PID file (/var/lib/mysql/i[FAILED]uqvc75gtzohebz.pid).

 问题解决:

没有日志文件,创建一个:

sudo chown mysql.mysql /var/log/mariadb && sudo -u mysql touch /var/log/mariadb/mariadb.log

解决!

 

 

     12、把mysql客户端放到默认路径

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

注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql

=================== 这是分割线 ==================

通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。

错误信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”

路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

 到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了。

 

13、修改mysql的root用户密码,root初始密码为空的:

执行命令:./bin/mysqladmin -u root password '密码'

 

###################### 分割线 ######################

权限控制

1、去除匿名用户

# 测试匿名用户登录mysql -ux3

可以看到匿名用户可以登录,具有information_schema和test库的相关权限。

# 删除匿名用户,使用root用户登录数据库delete from mysql.user where User=''; flush privileges;

 

再次测试匿名用户登录

 

 

2、为了方便远程管理,打开3306的防火墙。

vi /etc/sysconfig/iptables

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

3、Mysql远程授权

先用root登录mysql:

mysql -uroot -p

输入密码:

执行:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

 

远程即可连接。

 

备注:默认安装的mysql的【max_allowed_packet】只有1024,要改成20兆,有两种方法,具体参考本人另一个博客:

http://www.cnblogs.com/gmq-sh/p/7096687.html

 

你可能感兴趣的文章
个人服务器常用基础配置
查看>>
前端进阶系列-目录
查看>>
<Solidity学习系列二>深入理解Solidity之二---Solidity源代码文件结构
查看>>
基于bluestore的rocksdb的调优,测试ceph-4K-randwrite性能
查看>>
NodeJs系列之package.json
查看>>
gorose orm+dotweb框架快速构建go web网站实战(五)
查看>>
使用DOM Breakpoints找到修改属性的Javascript代码
查看>>
创建一个离线优先,数据驱动的渐进式 Web 应用程序
查看>>
使用机器学习预测天气(第二部分)
查看>>
解决使用jwt刷新token带来的问题
查看>>
浅谈分布式存储系统Pangu2.0——它让双11运维变得智能起来
查看>>
通过Apache Flume向HDFS存储数据
查看>>
像盖房子一样写代码:当我以测试驱动开发的时候,我在想些什么
查看>>
html5使用Drag事件编辑器拖拽上传图片
查看>>
FPB 2.0:免费的计算机编程类中文书籍 2.0
查看>>
Ueditor上传本地音频MP3
查看>>
Egg.js开发七牛云备份项目总结
查看>>
npm下取消已发布的版本package
查看>>
Promise是Monad吗?
查看>>
(转)Mongoose学习参考文档
查看>>