介绍
Linux下安装MySQL5.6,此教程演示采用Centos7安装MySQL5.6的方式进行。
安装
1.下载MySQL
MySQL下载官网:https://downloads.mysql.com/archives/community/
选择Linux通用版进行下载,注意看软件的位数32/64。
2.拖拽文件到XShell命令窗口上传文件
注意:如果没有速度请先执行下面的命令:
yum -y install lrzsz
3.复制一份作为备份
cp mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz /usr/local/src
如果没有权限请添加权限:
chmod 755 mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz
4.检查系统是否已经安装MySQL
执行如下命令:
rpm -qa | grep mysql
若存在,则执行以下命令卸载mysql:
rpm -e --nodeps mysql-xxxx
5.解压安装包
拷贝一份到安装目录:
cp mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz /usr/local
进入安装目录解压:
cd /usr/local
tar -zxvf mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz
命令介绍:
指令 | 介绍 |
---|---|
tar | 备份文件 |
-z | 通过gzip指令处理备份文件 |
-x | 从备份文件中还原文件 |
-v | 显示指令执行过程 |
-f | 指定备份文件 |
jdk-8u202-linux-x64.tar.gz | 文件名 |
删除原安装包:
rm -f mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz
重命名原压缩包:
mv mysql-5.6.48-linux-glibc2.12-x86_64 mysql
6.创建用户组
创建mysql用户组和mysql用户,已有无需创建(在Linux的/etc/group文件中可查看所有组,在/etc/shadow和/etc/passwd中查看所有用户)。
groupadd mysql
useradd -r -g mysql mysql
7.更换目录所有权为mysql用户
chown -R mysql:mysql mysql
目录权限设置
chmod -R 755 mysql
8.编译安装mysql
安装依赖库:
yum -y install autoconf && yum install libaio* -y && yum -y install numactl
执行脚本安装:
./scripts/mysql_install_db --user=mysql
9.创建默认日志文件夹
不创建有可能报错
mkdir /var/log/mariadb && touch /var/log/mariadb/mariadb.log
10.启动mysql
./support-files/mysql.server start
提示Starting MySQL… SUCCESS!即为启动成功。
11.修改密码
./bin/mysqladmin -u root -h localhost.localdomain password '123456'
12.登录mysql
./bin/mysql -h127.0.0.1 -uroot -p123456
13.远程登录
登录上mysql后执行如下命令(后面那句命令为刷新权限):
grant all privileges on *.* to root@'%' identified by '123456'; flush privileges;
14.开放服务器端口
需先退出登录的mysql:
exit
执行如下命令查询端口是否开放:
firewall-cmd --query-port=8080/tcp
开放3306端口:
firewall-cmd --permanent --add-port=3306/tcp
重启防火墙:
firewall-cmd --reload
参数介绍:
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;
15.通过navicat软件测试连接是否成功
16.mysql自启
1)将服务文件复制一份到init.d下,并重命名为mysqld。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2)授予执行权限。
chmod 777 /etc/init.d/mysqld
3)增加mysqld服务。
chkconfig --add mysqld
4)查询mysql情况。
chkconfig --list mysqld
如果345为off则:
chkconfig --level 345 mysqld on
5)重启验证。
reboot
卸载
rm -rf /root/.mysql_sercret
rm -rf /var/lib/mysql
rm -rf /usr/local/mysql
问题解决方案
1.启动报如下的错误
2020-12-28 22:20:45 26773 [ERROR] Failed to create a socket for IPv4 '0.0.0.0': errno: 13.
2020-12-28 22:20:45 26773 [ERROR] Can't create IP socket: Permission denied
2020-12-28 22:20:45 26773 [ERROR] Aborting
因为mysql账户缺少权限,在root在执行如下命令即可。
usermod -a -G aid_inet,aid_net_raw mysql
2.命令行登录报错
报错内容
/bin/mysql -h127.0.0.1 -uroot -p123456
./bin/mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
解决办法:
安装全部libncurses包
yum install libncurses*
3.LXC容器安装注意事项
必须创建一个用户,不然启动会失败。