一、MySQL安装包下载

官网地址:https://dev.mysql.com/downloads/mysql/

下载步骤:

过滤操作系统版本

在这里插入图片描述

选择归档安装包

在这里插入图片描述

下载后,上传并md5校验安装包是否与上图官方提供的值一致,确保传输过程安装包无损害

[root@MyDB1 ~]# cd /usr/local/software/[root@MyDB1 software]# md5sum mysql-8.0.22-el7-x86_64.tar.gz 52e312605f66aaaa0efcd272b9fc0a1f mysql-8.0.22-el7-x86_64.tar.gz
[root@MyDB1 software]# tar -zxvf mysql-8.0.22-el7-x86_64.tar.gz[root@MyDB1 software]# ln -s mysql-8.0.22-el7-x86_64/ mysql#创建链接,方便操作
[root@MyDB1 ~]# rpm -qa|grep mysql#查看是否已安装mysql数据库[root@MyDB1 ~]# rpm -qa|grep mysql|xargs rpm -e --nodeps#卸载mysql[root@MyDB1 software]# rpm -qa|grep mariadb-libs|xargs rpm -e --nodeps#卸载mariadb
[root@MyDB1 ~]# groupadd -g 2000 mysql[root@MyDB1 ~]# useradd -u 2000 -g mysql -c "MySQL Server" -s /sbin/nologin mysql[root@MyDB1 ~]# cat /etc/group|grep mysqlmysql:x:2000:[root@MyDB1 ~]# cat /etc/passwd|grep mysqlmysql:x:2000:2000:Mysql software:/home/mysql:/sbin/nologin

删除组和用户

[root@MyDB1 ~]# userdel mysql#删除用户同时会删除相应的组
[root@MyDB1 ~]# cd /usr/local/software/[root@MyDB1 software]# chown -R mysql:mysql mysql*

在这里插入图片描述

注:此时是没有data目录

四、MySQL初始化

初始化之前先编辑好配置文件

[root@MyDB1 ~]# vi /etc/my.cnf[root@MyDB1 ~]# cat /etc/my.cnf内容如下:(其他的根据实际需求配置)[mysqld]basedir = /usr/local/software/mysqldatadir = /usr/local/software/mysql/datalog_error = /usr/local/software/mysql/mysql-error.logport = 3306socket = /usr/local/software/mysql/mysqld.sockpid_file = /usr/local/software/mysql/mysqld.pidcharacter-set-server=utf8lower_case_table_names=1max_connections=1000sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'[mysql]default-character-set=utf8[client]default-character-set=utf8
[root@MyDB1 ~]# /usr/local/software/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/software/mysql --datadir=/usr/local/software/mysql/data

在这里插入图片描述

初始化之后的目录结构

在这里插入图片描述

五、MySQL启动服务

方式1——init.d: 启动服务

[root@MyDB1 ~]# cp /usr/local/software/mysql/support-files/mysql.server /etc/init.d/mysqld[root@MyDB1 ~]# /etc/init.d/mysqld start
[root@MyDB1 ~]# ps -ef|grep mysql

图中有两个进程,一个主进程,一个守护进程。当mysql意外停止时,守护进程会自动重启mysql服务

演示demo

[root@MyDB1 ~]# kill -9 75341#直接杀死进程

方式2——systemctl: 编辑启动配置文件

[root@MyDB1 subsys]# vi /etc/systemd/system/mysqld.service内容如下:(缺点:当kill掉时,无法自动启动恢复)[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlDocumentation=https://www.freedesktop.org/software/systemd/man/systemd.unit.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlLimitNOFILE = 5000ExecStart=/usr/local/software/mysql/bin/mysqld --defaults-file=/etc/my.cnf
[root@MyDB1 ~]# systemctl start mysqld.service[root@MyDB1 ~]# systemctl status mysqld.service
[root@MyDB1 ~]# cd /usr/local/software/mysql/bin/[root@MyDB1 bin]# chmod 700 mysqld mysqld_safe [root@MyDB1 bin]# ll mysqld mysqld_safe -rwx------. 1 mysql mysql 441010738 Sep 24 03:42 mysqld-rwx------. 1 mysql mysql  29157 Sep 24 03:18 mysqld_safe

服务随系统启动

systemctl enable mysqld.servicesystemctl list-unit-files|grep mysql
[root@MyDB1 ~]# ln -s /usr/local/software/mysql/mysqld.sock /tmp/mysql.sock
[root@MyDB1 ~]# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 10Server version: 8.0.22Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> 

修改root密码

mysql> alter user root@'localhost' identified by 'MyDB12@com';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

九、配置mysql远程登录

  • 关闭防火墙或开放MySQL端口
  • 查看允许访问MySQL的用户和地址
mysql> select user,host from mysql.user;+------------------+-----------+| user    | host  |+------------------+-----------+| mysql.infoschema | localhost || mysql.session | localhost || mysql.sys  | localhost || root    | localhost |+------------------+-----------+4 rows in set (0.00 sec)
mysql> grant all privileges on *.* to root@'%' identified by 'MyDB12@com';ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'MyDB12@com'' at line 1

创建远程登录用户

mysql> create user 'root'@'%' identified by 'MyDB12@com';Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to 'root'@'%';Query OK, 0 rows affected (0.01 sec)mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Pycharm安装PyQt5的详细教程
  3. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  4. android用户界面之按钮(Button)教程实例汇
  5. 【Android(安卓)开发教程】Toast通知
  6. android 分辨率及密度详细
  7. Android简易实战教程--第三十九话《Chronometer实现倒计时》
  8. android加密解密完美教程
  9. Android(安卓)SDK自带教程之BluetoothChat

随机推荐

  1. PHP实现驼峰命名和下划线命名互转
  2. PHP之你不得不知道的COOKIE含义及使用方
  3. PHP百钱百鸡问题(三种解题思路及答案)
  4. 如何用PHP代码生成金字塔
  5. PHP路由库FastRoute的使用教程
  6. PHP日期时间快速入门(图文详解)
  7. PHP简单实现路由Route功能
  8. PHP中你必须了解的4种Array函数
  9. Mac电脑设置hosts的方法(图文步骤)
  10. 浅谈PHP连接MySQL数据库的三种方式