2019 MySQL8 24小时快速入门(1)

2019-10-14 15:31:31 浏览数 (1)

据 db-engines.com 于2019 年9月发布的数据库排行榜,MySQL 牢牢的霸占兵器排行榜第 2 位。

不说远的,近来我遇到的各类搭建大小数据集群,都已经全部用 MySQL 来当“胶水”了,比如 Hive 的 MetaData Store, 就是建立在 MySQL 之中的。

与其纠结,挑 Oracle,还是 MySQL, 或者 SQL Server 还不如选定一个,立马开干。RDMBS(关系型数据库)原理都一样,详看我之前翻译的 IBM 关系型数据库论文,学完一门其他非常好上手:

带读 IBM 关系型数据库经典论文

不废话,我画了个脑图,打算接下来的时间,好好写一写 MySQL.

这是开头三个小时的知识点,希望对大家有帮助。

先从安装入手,这是初学者最头痛的事情了,因为不仅仅要安装 MySQL, 还要熟悉一些 Linux 的基本操作。但万事开头难,一步步跟着我这个小课来,你会发现困难就是只大病猫。

安装篇

1. 安装vmware centos的虚拟机

-省却安装vmware虚拟机管理的部分(谷歌、百度是好东西)

-centos7下载地址:

官方:

https://www.centos.org/download/

镜像文件地址:

http://mirrors.nju.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

2. 配置一台centos服务器的用户、密码以及权限

-centos安装名称:MySQLAAS

-centos安装路径:D:mMySQL

-Root/密码:*****.

-MySQL服务专用账户 MySQLAdmin/*****

3. 安装 MySQL 8

3.1 下载路径: 选择 MySQL Community 8.0 版本, 下载地址:

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

3.2 安装:

1)解压tar文件:tar -xf

2)按照以下顺序安装这些包:

mysql-community-server

mysql-community-client

mysql-community-libs

mysql-community-common

mysql-community-libs-compact

以上这些包是确保一个MySQL数据库服务正常运作的必要包。

代码语言:javascript复制
>sudo yum install mysql-community-{server,client,common,libs}-*

3)配置

一般来说,直接运行上面的yum命令后,安装程序会在系统的各个主要目录下生成这些MySQL运行必须的文件:

Files or Resources

Location

Client programs and scripts

/usr/bin

mysqld server

/usr/sbin

Configuration file

/etc/my.cnf

Data directory

/var/lib/mysql

Error log file

For RHEL, Oracle Linux, CentOS or Fedora platforms:/var/log/mysqld.logFor SLES: /var/log/mysql/mysqld.log

Value of secure_file_priv

/var/lib/mysql-files

System V init script

For RHEL, Oracle Linux, CentOS or Fedora platforms: /etc/init.d/mysqldFor SLES: /etc/init.d/mysql

Systemd service

For RHEL, Oracle Linux, CentOS or Fedora platforms: mysqldFor SLES: mysql

Pid file

/var/run/mysql/mysqld.pid

Socket

/var/lib/mysql/mysql.sock

Keyring directory

/var/lib/mysql-keyring

Unix manual pages

/usr/share/man

Include (header) files

/usr/include/mysql

Libraries

/usr/lib/mysql

Miscellaneous support files (for example, error messages, and character set files)

/usr/share/mysql

4)安装完毕之后的注意事项

-默认安装完毕 MySQL,数据库服务并不会自动启动,我们必须手动开启服务

代码语言:javascript复制
>systemctl start mysqld

-root用户密码是随机生成的,我们需要捕获这份密码,并修改成我们自己熟记的

代码语言:javascript复制
[mysqladmin@SQLAAS Downloads]$ sudo grep 'temporary password' /var/log/mysqld.log
2019-09-01T15:35:49.811164Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: HJu2(khHtCG0
mysql> alter user 'root'@'localhost' identified by '1QAZ2WSX' ;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql>
mysql> alter user 'root'@'localhost' identified by 'LuckyNumber234.' ;
Query OK, 0 rows affected (0.01 sec)

-添加一个 MySQL 用户,使其拥有创建数据库的权限

MySQLAdmin/****.

代码语言:javascript复制
 >create user 'MySQLAdmin'@'localhost' identified by 'MySQLAdmin' ;

-配置远程登录允许:这里有坑,要当心

代码语言:javascript复制
>grants all on *.* 'root' ;
>ERROR 1410 (42000): You are not allowed to create a user with GRANT
加上 privileges 关键字:
> grant all privileges on *.* to  'root'@'%' ;
ERROR 1410 (42000): You are not allowed to create a user with GRANT
MySQL 8 中新建一个远程账户,必须从create user 开始:
mysql> create user 'MySQLAdmin'@'%' identified by '*******.' ;
Query OK, 0 rows affected (0.05 sec)
mysql> grant all on *.* to 'MySQLAdmin'@'%'  ;
Query OK, 0 rows affected (0.05 sec)
mysql> flush privileges ;
Query OK, 0 rows affected (0.03 sec)

最终,完美地从远程连接到了 MySQL 8 上。

代码语言:javascript复制

0 人点赞