欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

安装MySQL

程序员文章站 2022-05-01 18:31:49
...

#1.1 下载MySQL安装包
#进入到mysql官网下载自己对应版本的mysql
#下载地址:

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

#我这里下载mysql-5.7.27-el7-x86_64.tar.gz版本
(下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-el7-x86_64.tar.gz)
安装MySQL
#SFTP上传mysql安装包

cd /backup
ls -lhrt|grep mysql

[aaa@qq.com backup]# ls -lhrt|grep mysql
-rw------- 1 root root 681M Jun 10 21:41 mysql-5.7.27-el7-x86_64.tar.gz [aaa@qq.com backup]#

#1.2 检查并卸载系统自带MySQL、Marriadb
#MySQL包

rpm -qa | grep mysql

[aaa@qq.com backup]# rpm -qa | grep mysql
qt-mysql-4.8.5-13.el7.x86_64
qt5-qtbase-mysql-5.6.1-10.el7.x86_64
[aaa@qq.com backup]#

#如有,则卸载

rpm -e qt-mysql-4.8.5 
rpm -e qt5-qtbase-mysql-5.6.1

#MarriaDB包

rpm -qa | grep mariadb

[aaa@qq.com backup]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
mariadb-devel-5.5.52-1.el7.x86_64
[aaa@qq.com backup]#

#如有,则卸载

rpm -e mariadb-devel-5.5.52
rpm -e --nodeps mariadb-libs-5.5.52

#1.3 解压mysql程序包

mkdir -p /opt/mysql
tar -zxf mysql-5.7.27-el7-x86_64.tar.gz
mv mysql-5.7.27-el7-x86_64 /opt/mysql/mysql-5.7.27
cd /opt/mysql/mysql-5.7.27
ls

[aaa@qq.com mysql-5.7.27]# ls
bin COPYING docs include lib man README share support-files
[aaa@qq.com mysql-5.7.27]#

#1.4 创建mysql用户、组

cat /etc/group | grep mysql
cat /etc/passwd | grep mysql

#若无记录,则需要创建

groupadd mysql
useradd -r -g mysql mysql
cat /etc/passwd | grep mysql

[aaa@qq.com mysql]# cat /etc/passwd | grep mysql
mysql❌987:2014::/home/mysql:/bin/bash
[aaa@qq.com mysql]#

#1.5 配置MySQL
#创建目录用于存放mysql数据文件

mkdir -p /oradata/mysql-5.7.27/data

#修改mysql相关目录的属组

chown -R mysql:mysql /opt/mysql/
chown -R mysql:mysql /oradata/mysql-5.7.27/

#设置配置文件

cd /opt/mysql/mysql-5.7.27/support-files/
vi my_default.cnf

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

basedir = /opt/mysql/mysql-5.7.27
datadir = /oradata/mysql-5.7.27/data
port = 3306 socket = /tmp/mysql.sock
character-set-server=utf8

log-error = /oradata/mysql-5.7.27/data/mysqld.log
pid-file = /oradata/mysql-5.7.27/data/mysqld.pid

#初始化mysqld

cp my_default.cnf /etc/my.cnf
cd /opt/mysql/mysql-5.7.27
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-5.7.27/ --datadir=/oradata/mysql-5.7.27/data/ 

#查看日志,记录初始密码

tail -f /oradata/mysql-5.7.27/data/mysqld.log

[aaa@qq.com mysql-5.7.27]# tail -f /oradata/mysql-5.7.27/data/mysqld.log
2019-09-29T02:30:38.998623Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-09-29T02:30:38.998680Z 0 [Warning] ‘NO_ZERO_DATE’, ‘NO_ZERO_IN_DATE’ and ‘ERROR_FOR_DIVISION_BY_ZERO’ sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2019-09-29T02:30:38.998714Z 0 [Warning] ‘NO_AUTO_CREATE_USER’ sql mode was not set.
2019-09-29T02:30:39.265832Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-09-29T02:30:39.315612Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-09-29T02:30:39.372446Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 2056057b-e261-11e9-8d5b-0050569b699a.
2019-09-29T02:30:39.373323Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2019-09-29T02:30:39.377452Z 1 [Note] A temporary password is generated for aaa@qq.com: RocOgZ1#gff:

#启动mysql

cp /opt/mysql/mysql-5.7.27/support-files/mysql.server /etc/init.d/mysql
service mysql start

#添加环境变量

vi ~/.bash_profile 
export PATH=$PATH:/opt/mysql/mysql-5.7.27/bin

#应用环境变量

source ~/.bash_profile

#查看环境变量

echo $PATH

[aaa@qq.com ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/opt/mysql/mysql-5.7.27/bin
[aaa@qq.com ~]#

#登录mysql并修改root密码

mysql -u root -p

#输入上面初始化时从日志中记录的密码(本例中是RocOgZ1#gff:)

#设置root新密码(本例设为123456)

set password=password('123456');
grant all privileges on *.* to aaa@qq.com'%' identified by '123456';
flush privileges;

#根据实际情况新建用户并添加远程访问权限

use mysql;
update user set host='%' where user = 'root';
flush privileges;
select host,user from user;

安装MySQL

#重启mysql

service mysql stop
service mysql start

#或者

service mysql restart

[aaa@qq.com mysql-5.7.27]# service mysql restart
Shutting down MySQL… [ OK ]
Starting MySQL. [ OK ]
[aaa@qq.com mysql-5.7.27]#

#1.6 设置开机自启动

chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig --list

mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

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

chkconfig --level 345 mysql on

#重启操作系统并验证mysql服务已启动

reboot
netstat -na | grep 3306

[aaa@qq.com ~]# netstat -na | grep 3306
tcp6 0 0 :::3306 ::???? LISTEN
[aaa@qq.com ~]#

参考文章:

https://blog.csdn.net/lch520baby/article/details/89081306
https://www.cnblogs.com/zhanghanwen16/p/9046227.html