CentOS 7安装MySQL5.7绿色版图文教程
这段时间在做OGG数据同步,要做MySQL到Oracle的实时同步。图软发现MySQL绿色安装方法忘记了。所以重新做一遍实验记录一下,作为后期的日子;
前面我做了一个CentOS7.4的MySQL安装,不过那时候使用的rpm文件安装的,今天想要使用绿色版压缩包安装;原来rpm安装的方法如下https://www.codepeople.cn/2018/12/31/CentOS7.4-MySQL8.0-install/
第一步 了解一下你的系统版本。
[root@localhost home]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
第二步 通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包
[root@localhost home]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
第三步 通过 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 –nodeps 命令装卸 mariadb
[root@localhost home]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
[root@localhost home]# rpm -qa | grep mariadb
[root@localhost home]#
#mariadb 是MySQL的衍生版本,为了防止Oracle对MySQL的闭源linux采用了MySQL的衍生版本
第四步 下载MySQL的Linux安装包
先安装wget下载工具
[root@localhost soft]# yum install -y wget
通过命令下载mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz安装文件
[root@localhost soft]# wget http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
第五步 解压修改安装名称
[root@localhost mysql]# tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost local]# ls
bin etc games include lib lib64 libexec mysql-5.7.26-linux-glibc2.12-x86_64 sbin share src
[root@localhost mysql]# cd /usr/local/
[root@localhost local]# mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
[root@localhost local]# ls
bin etc games include lib lib64 libexec mysql sbin share src
第六步 创建目录
[root@localhost local]# mkdir -p /mysql/data
[root@localhost local]# mkdir -p /mysql/sock
[root@localhost local]# mkdir -p /mysql/log
[root@localhost local]# mkdir -p /mysql/pid
第七步 创建组和用户
# groupadd mysql
# useradd mysql -g mysql -d /usr/local/mysql -s /sbin/nologin
第八步 安装MySQL
[root@localhost local]# cd /usr/local/mysql
[root@localhost mysql]# ls
bin COPYING docs include lib man README share support-files
第九步 修改MySQL配置文件
[root@localhost etc]# cd /etc
[root@localhost etc]# touch my.cnf
注:第一次,请注释“bind-address”,需要root本地登录,初始化mysql用户
[mysqld]
user=mysql
# bind-address=192.168.0.223
port=3306
basedir=/usr/local/mysql
datadir=/mysql/data
socket=/mysql/sock/mysql.sock
pid-file=/mysql/pid/mysql.pid
log-error=/mysql/log/mysql-error.log
symbolic-links=0
default-storage-engine=INNODB
character_set_server=utf8
collation-server=utf8_general_ci
transaction_isolation=REPEATABLE-READ
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
skip_ssl
default-time-zone='+8:00'
innodb_buffer_pool_instances=1
max_connections=200
[mysql]
default-character-set=utf8
port=3306
socket=/mysql/sock/mysql.sock
第十步 启动服务文件
[root@localhost etc]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld
注:修改启动文件:
# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/mysql/data
第十一步 更改涉及拥有者
# chown -R mysql:mysql /mysql
# chown -R mysql:mysql /etc/my.cnf
# chown -R mysql:mysql /usr/local/mysql
第十二步 初始化 mysql 的数据库
[root@localhost mysql]# cd /usr/local/mysql/bin
[root@localhost bin]# ls
innochecksum myisampack mysqlcheck mysqld-debug mysql_embedded mysql_secure_installation mysql_tzinfo_to_sql resolveip
lz4_decompress my_print_defaults mysql_client_test_embedded mysqld_multi mysqlimport mysqlshow mysql_upgrade resolve_stack_dump
myisamchk mysql mysql_config mysqld_safe mysql_install_db mysqlslap mysqlxtest zlib_decompress
myisam_ftdump mysqladmin mysql_config_editor mysqldump mysql_plugin mysql_ssl_rsa_setup perror
myisamlog mysqlbinlog mysqld mysqldumpslow mysqlpump mysqltest_embedded replace
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data
数据库密码查询:k-9dlymmrpUM
[root@localhost bin]# cat /mysql/log/mysql-error.log
2019-06-06T04:00:43.969137Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-06-06T04:00:43.969173Z 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-06-06T04:00:43.969176Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2019-06-06T04:00:45.645471Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-06-06T04:00:45.963270Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-06-06T04:00:46.081377Z 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: a97b14cb-880f-11e9-9246-c85b7661fe5d.
2019-06-06T04:00:46.104439Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-06-06T04:00:46.105580Z 1 [Note] A temporary password is generated for root@localhost: k-9dlymmrpUM
第十三步 启动MySQL
[root@localhost bin]# service mysqld start
Starting MySQL. SUCCESS!
[root@localhost bin]#
第十四步 修改MySQL的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
允许所有的计算机连接该数据库
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION
mysql> FLUSH PRIVILEGES;
第十五步 设置mysql服务开机自启动
[root@localhost /]# chkconfig --add mysqld
[root@localhost /]# chkconfig mysqld on
[root@localhost /]# chkconfig --list | grep mysqld
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@localhost /]#
第十六步 配置mysql环境变量
vim /etc/profile
在文件的末尾增加如下内容
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
立即生效环境变量
[root@localhost /]# source /etc/profile
第十七步 查看MySQL的安装版本
[root@localhost /]# mysql --version
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper
第十八步 查看MySQL的进程服务和路径
[root@localhost /]# ps -ef |grep mysql
root 8580 1 0 12:04 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/mysql/data --pid-file=/mysql/pid/mysql.pid
mysql 8879 8580 0 12:04 pts/0 00:00:03 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/mysql/log/mysql-error.log --pid-file=/mysql/pid/mysql.pid --socket=/mysql/sock/mysql.sock --port=3306
root 10306 5731 0 13:08 pts/0 00:00:00 grep --color=auto mysql
第十九步 通过以下命令进行,开放端口重启防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
#查看所有的已经开放的端口
firewall-cmd --zone=public --list-ports
第二十步 通过navicat连接MySQL数据库
如果忘记了虚拟机的IP可以通过如下命令查看:
ip addr
ifconfig
都能看到对应的IP
说明:以上就是全部的虚拟机CentOS 7.4 安装MySQL 8.0的安装步骤
参考文章:https://blog.csdn.net/weixin_42266606/article/details/80879571