环境:
1、操作系统:CentOS Linux release 7.7.1908
2、安装版本: mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
3、下载地址:mysql官网下载地址
4、下载说明:进入下载mysql的tar包,如果你想用yum下载安装的话,在yum install mysql-sever的这一步,会很慢很慢的,下载速度只有10~15KB/S,中途还会失败。除非你换yum源,但是你有换yun源的时间,估计用我的办法估计早就下载好这个mysql的包了。可以参考这篇文章mysql官网下载太慢解决办法。
5、特殊说明:
(1)Linux下MySQL5.6与MySQL5.7、MYSQL8.0安装方法不同,本文以5.6为主。
(2)在安装mysql数据库时,先要在linux上确认自己的系统版本,是centos7还是centos8,因为不同的版本支持的mysql版本也不一样。centos8默认支持mysql8.0的。至于为什么,可以看看我上一篇文章CentOS7与CentOS8的区别。我也是掉入坑中才知道的。
1、确认自己linux系统版本,使用centos7版本。
# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
2、检查系统中是否已安装 MySQL。
# rpm -qa | grep -i mysql //针对用rpm安装的mysql,查看已安装的Mysql 数据库版本
# find / -name mysql|xargs rm -rf //针对之前用tar包安装的mysql,查找并删除
注意:在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL 。
3、查看已安装的 Mariadb 数据库版本,卸载已安装的 Mariadb 数据库。
# rpm -qa|grep -i mariadb //查看已安装的 Mariadb 数据库版本
mysql-community-release-el7-5.noarch
# yum remove mysql //移除CenttOS上默认的mysql
# yum remove mysql-community-release-el7-5.noarch
# whereis mysql
mysql:
# yum clean dbcache //清空db缓存
20 files removed
# rpm -qa|grep mariadb|xargs rpm -e --nodeps //卸载已安装的 Mariadb 数据库
# rpm -qa|grep -i mariadb //再次查看是否还有 Mariadb
4、在安装包存放目录root下执行命令解压文件,将解压文件后文件移动至/usr/local
# cd /root
# tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
# mv mysql-5.6.31-linux-glibc2.5-x86_64 mysql
# mv mysql /usr/local/
5、检查是否有mysql用户组和mysql用户,没有就添加,有就忽略
# groups mysql
# groupadd mysql && useradd -r -g mysql mysql // 添加用户组和用户
6、 进入mysql目录修改权限
# cd mysql/
# chown -R mysql:mysql ./
7、安装依赖库
# yum -y install autoconf && yum install libaio* -y && yum -y install numactl
8、执行安装脚本
# ./scripts/mysql_install_db --user=mysql
9、脚本安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql
# chown -R root:root ./ && chown -R mysql:mysql data
10、创建默认日志文件
# mkdir /var/log/mariadb && touch /var/log/mariadb/mariadb.log
11、 my.cnf设置为用户可读写,其他用户不可写
# chmod 644 /usr/local/mysql/my.cnf
12、 启动mysql
# ./support-files/mysql.server start
13、修改密码
# ./bin/mysqladmin -u root -h localhost.localdomain password '123456'
14、登陆mysql
# ./bin/mysql -h127.0.0.1 -uroot -p123456
15、授权远程登陆
# mysql> grant all privileges on *.* to root@'%' identified by '123456';
# mysql> flush privileges; //刷新配置
1、将服务文件复制一份到init.d下,并重命名为mysqld
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、对文件赋予执行权限
# chmod +x /etc/init.d/mysqld 或 chmod 777 /etc/init.d/mysqld
3、增加mysqld服务
# chkconfig --add mysqld
4、查询mysqld服务情况
# chkconfig --list mysqld
5、 如果3,4,5 为off:
# chkconfig --level 345 mysqld on 或 chkconfig mysqld on
6, 重启mysql服务
# service mysqld restart
# service mysqld status //查看mysql状态
7、配置my.cnf
# vim my.cnf
//添加以下两条语句并保存退出
character_set_server=utf8
lower_case_table_names=1
max_allowed_packet=100M
8、重启mysqld服务
# service mysqld restart