Mysql5.6安装(centos7)

本文档详细介绍了在CentOS7上安装MySQL5.6的完整过程,包括下载安装包、安装依赖、解压、设置用户和权限、安装数据库、配置开机启动、启动服务以及解决安装过程中可能出现的权限和端口占用等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS7 64位

1、下载安装包“mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz”
#安装依赖: yum -y install perl perl-devel autoconf libaio

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 mysql/
chown -R mysql:mysql ./
7、安装数据库,此处可能出现错误。
./scripts/mysql_install_db --user=mysql
FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper
#解决方法: yum install -y perl-Data-Dumper
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!
12、把mysql客户端放到默认路径
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql
------------------------------------------------------------------------------
通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。
mysql> set password for root@localhost = password(‘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
到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了。
-------------------------------------------------------------------------------
权限控制
1、去除匿名用户
#测试匿名用户登录 mysql -ux3
可以看到匿名用户可以登录,具有information_schema和test库的相关权限。
#删除匿名用户,使用root用户登录数据库
delete from mysql.user where User=’’;
flush privileges;
再次测试匿名用户登录 会出现Error 1045
=============================================
文件权限问题
mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log’, however file don’t exists. Create writable for user ‘mysql’.
我们这样解决
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/

[ERROR] SSL error: Unable to get private key from ‘server-key.pem’
find / -name server-key.pem
chown -R mysql:mysql /var/lib/mysql/
这是权限不够,我们需要给出相应的权限

端口占用错误
2017-11-08T09:30:33.168222Z 0 [ERROR] Can’t start server: Bind on TCP/IP port: Address already in use
2017-11-08T09:30:33.168225Z 0 [ERROR] Do you already have another mysqld server running on port: 3306 ?
2017-11-08T09:30:33.168230Z 0 [ERROR] Aborting
关闭占用的端口即可

文件权限问题
/usr/local/mysql/bin/mysqld: Can’t create/write to file ‘/var/run/mariadb/mariadb.pid’ (Errcode: 2 - No such file or directory)

mkdir /var/run/mariadb/
chown -R mysql:mysql /var/run/mariadb/
一样的问题,没有创建该目录和权限

mysql.sock问题(解决方法很多,这只是其中一个)
Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
这是可以由于系统默认的文件位置和文件位置不一致,解决办法找到文件创建软链接
find / -name mysql.sock
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

安装时遇到得错误:
[root@localhost mysql]# service mysql start
Starting MySQL.Logging to ‘/usr/local/mysql/data/localhost.localdomain.err’.
… ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

查看localhost.localdomain.err这个文档发现错误得原因是/tmp/目录下多了一个mysql.sock,删掉它
再 service mysql start 就成功了
[root@localhost mysql]# more /usr/local/mysql/data/localhost.localdomain.err
。。。。。。省略。。。。。。
2019-04-04 17:24:19 13263 [ERROR] Can’t start server : Bind on unix socket: Address already in use
2019-04-04 17:24:19 13263 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
2019-04-04 17:24:19 13263 [ERROR] Aborting
2019-04-04 17:24:19 13263 [Note] Binlog end
。。
。。。。省略。。。。。。
[root@localhost mysql]# rm /tmp/mysql.sock
rm:是否删除符号链接 “/tmp/mysql.sock”?y
[root@localhost mysql]# service mysql start
Starting MySQL. SUCCESS!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值