This is Mysql、MariaDB基础 StudyNote.

1. MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。

官方站点:https://www.mysql.com/

1.1. 安装与简单使用

安装启动与简单设置

# 获取官网RPM文件
wget http://repo.mysql.com/[mysql80-community-release-el7-3.noarch.rpm]
# 校验rpm文件
rpm -ivh mysql-community-release-el7-5.noarch.rpm
# 更新下载
yum update
# 安装MySQL服务
yum install mysql-server
# 权限设置
chown mysql:mysql -R /var/lib/mysql

# 初始化Mysql
mysqld --initialize
# 启动mysql服务
systemctl start mysqld

# 关闭mysql服务
systemctl stop mysqld
# 或者
mysqladmin -uroot -p shutdown

验证安装及简单使用

# 查看mysql版本
mysqladmin --version
# 创建root默认密码
mysqladmin -u root password "your_new_passwd";

# 使用
mysql -uroot -p

1.2. 用户管理

添加用户实例,用户名为suofeiya指定其密码为suofeiya,并授予其SELECT权限:

# 方式一:
mysql> use mysql;
mysql> INSERT INTO user 
          (host, user, password, 
           select_priv) 
           VALUES ('localhost', 'suofeiya', 
           PASSWORD('suofeiya'), 'Y', 'Y', 'Y');
 # 重载授权表
mysql> FLUSH PRIVILEGES;
# 查看
mysql> SELECT host, user, password FROM user WHERE user = 'suofeiya';
* 需要注意的是,`password()`加密函数在mysql8中已被移除,可以使用`MD5()`函数来代替

# 方式二(MySQL8.0之后):
mysql> CREATE USER 'suofeiya'@'%' IDENTIFIED BY 'suofeiya';
# 授予部分权限
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'suofeiya'@'%';
# 授予所有权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'suofeiya'@'%';
mysql> FLUSH PRIVILEGES;
# 查看用户权限
mysql> SHOW GRANTS FOR 'suofeiya'@'%';

1.3. 查询数据

1.4. 修改数据

1.5. php连接使用mysql

php-mysql

2. MariaDB

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

官方站点:https://mariadb.org/

2.1. MariaDB安装与简单使用

yum install -y mariadb-server
# 使用
mysql -uroot -p

MariaDB主要由两类程序文件:

  • Client:mysqlmysqldumpmysqladmin
  • Server:mysqldmysqld_safemysqld_multi

3. 简单管理工具:phpMyAdmin

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。

官方站点:https://www.phpmyadmin.net/

为了安全,做些许修改

# 复制配置文件模板
cp config.sample.inc.php config.inc.php
# 修改模板
vim config.inc.php
# 修改并随意给出字符串即可
$cfg['blowfish_secret'] = 'fGCXVdsf3423432dfds'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

4. 其他

4.1. Mysql重置密码

如果忘记密码,可以在/etc/my.cnf配置文件中加入skip-grant-tables来重置密码,步骤如下:

  1. 修改配置文件
vim /etc/my.cnf
####
...
[mysqld]
skip-grant-tables
port=3306
...
####
  1. 重启mysql服务systemctl restart mysql

  2. 登录mysql,并修改root密码

mysql -uroot -p                # 此时登录无需输入密码,可直接登录成功
# 修改root密码
mysql > use mysql;
mysql> update user set authentication_string=password("newpasswd") where user='root';
mysql> flush privileges;

* 如果还是未修改成功,在password之后加入`,plugin='mysql_native_password'`试试

按照此种方法,可以先关闭mysql服务,然后找到mysql的主程序文件,加入--skip-grant-tables参数来修改密码,如./mysqld_safe --skip-grant-tables &,然后再登录mysql账户修改密码即可

4.2. MySQL命令行神器MyCLI

官方站点:https://www.mycli.net/

4.2.1. 安装

在RHEL/CentOS上安装:

sudo yum install python-pip python-devel -y
sudo pip install mycli

在Debian/Ubuntu上安装:

sudo apt update
sudo apt install -y mycli

4.2.2. 使用

在终端输入mycli指令外加与mysql连接工具相类似的参数即可,可以使用mycli --help来查看帮助.

4.3. SQL在线练习网站

http://sqlfiddle.com/

Copyright © AGou 2020 all right reserved,powered by Gitbook该文件修订时间: 2020-05-06 05:23:14

results matching ""

    No results matching ""