MySQL安装部署01-Centos6上安装MySQL5.7

1、环境准备

Centos6.0及以上版本(64bit)

2、安装包下载

首先登录官网,下载二进制版本,步骤如下:

进入www.mysql .com 。
单击顶部菜单的downloads。
单击MySQL Community (GPL) Downloads »。
单击MySQL Community Server。
如果要下载以前的版本,单击Looking for previous GA versions
选择相应的平台、版本,比如选择64位Linux平台下的MySQL二进制包:mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz,如下图。

image.png

附MySQL所有版本的下载地址:https://downloads.mysql.com/archives/community/

3、卸载操作系统自带MySQL

Centos6.8一般默认预先安装了MySQL5.1,需要进行卸载,步骤如下:

# 第一步,执行命令查看已经安装的mysql
rpm -qa|grep -i mysql
rpm -e --nodeps (mysql版本号,就是上面检查到的版本号)

# 第二步,执行命令卸载所有mysql软件包
yum -y remove mysql*

# 第三步,执行命令查找mysql的相关安装目录(安装包和安装目录是分开卸载的)
find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql

# 第四步,通过rm -rf xxx命令将上述查询到的目录依次删除 
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql

# 第五步,删除mysql配置文件
rm -rf /etc/my.cnf

# 第六步,删除mysql默认密码
rm -rf /root/.mysql_history
rm -rf /root/mysql_secret

# 至此已彻底卸载mysql

4、安装

#第一步 建立/opt/software目录
mkdir /opt/software

# 第二步,上传压缩包到/opt/software目录

# 第三步,进入/usr/local目录,将压缩包解压在这里并更改文件夹名为mysql
cd /usr/local
tar zxvf /opt/software/mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.40-linux-glibc2.12-x86_64 mysql

# 第四步  创建一个mysql用户 -s表示这个用户不登陆,-M 没有家目录 
useradd mysql -s /sbin/nologin -M
mkdir -p /home/mysql/data           # 数据目录
mkdir -p /home/mysql/socket         # 用于存放mysql.sock
chown -R mysql:mysql /home/mysql/data/ 
chown -R mysql:mysql /home/mysql/socket/

# 第五步 .修改mysql目录属主和属组 
chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql

# 第六步 安装依赖包
yum -y install libaio

5、编辑配置文件/etc/my.cnf

编辑配置文件/etc/my.cnf,内容如下:

[mysql]
default-character-set=utf8 
 
[mysqld]
port = 13506 
basedir=/usr/local/mysql/
datadir=/home/mysql/data/
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
log-bin=mysql-bin
binlog_format=mixed
server-id=161
slow_query_log=1
long_query_time=0.5
secure-file-priv=""
relay_log = /home/mysql/data/mysql-relay-bin
log_slave_updates = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
socket=/home/mysql/socket/mysql.sock
innodb_undo_directory=/home/mysql/data/
innodb_undo_logs=1024
innodb_undo_tablespaces=4
innodb_undo_log_truncate=1
show_compatibility_56=1

[client]
default-character-set = utf8
user=root
password='000000'
socket=/home/mysql/socket/mysql.sock

6、将mysql配置为系统服务,并设置开机自启动

1.把mysqld添加至systemctl进行管理

# 复制过去后,sytemctl会自动识别的
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld.server

2.添加执行权限

chmod +x /etc/rc.d/init.d/mysqld.server

3.把mysql的bin目录添加至环境变量

# mysql客户端要连接时候方便
echo "PATH=/usr/local/mysql/bin/:$PATH" >> /etc/profile
# 让修改的文件不重启生效
source /etc/profile

4.把mysqld.server添加至chkconfig下,并设置开启自启动

chkconfig --add mysqld.server
chkconfig mysqld.server on

7、初始化数据库,修改root密码,对root授权

1.初始化数据库,打开SSL

mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data/
mysql_ssl_rsa_setup

2.启动数据库

# 需要跳过授权表,启动数据库,因为mysql默认会设置一个随机密码
/etc/init.d/mysqld.server start --skip-grant-tables

3.修改连接数据库的root密码

#5.7版本中mysql.user表下authentication_string字段存储的用户登陆密码
mysql -uroot   # 直接可进入数据库
update mysql.user set authentication_string=password('000000') where user='root' and host='localhost';
flush privileges;

4.停止当前的MySQL,正常启动即可

/etc/init.d/mysqld.server stop
/etc/init.d/mysqld.server star

5.授权root用户可以从任何主机连接到MySQL服务器

mysql> ALTER USER USER() IDENTIFIED BY 'XXXXXX';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '000000' WITH GRANT OPTION; 
mysql> FLUSH   PRIVILEGES; 

8、总结

MySQL5.7在Centos6上的安装主要分为下载、卸载操作系统自带版本、创建用户和目录、安装依赖包、解压缩安装包、配置my.cnf、初始化数据库、修改root密码,如果需要可以设置MySQL为系统服务并自启动。
一些其他MySQL的分支,提供了更高的性能和更多的特性,如Percona Server、MariaDB等,它们的二进制版本安装类似于官方版本,读者可参考对应分支的安装文档进行部署安装。注意,安装前一定要仔细阅读它们的安装文档。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容