• MySQL 学习


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

    学习教程:http://www.runoob.com/mysql/mysql-tutorial.html

    MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL有免费和付费版本。

    所有平台的 MySQL 下载地址为: MySQL 下载 。 挑选你需要的 MySQL Community Server 版本及对应的平台。

    Linux/UNIX 上安装 MySQL

    Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

    • MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
    • MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
    • MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
    • MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
    • MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

    安装的三种方式:

    1、通过web方式

    2、通过非web方式

    3、通过下载package安装方式

    安装举例:

    window10|mysql  Ver 8.0.13 for Win64 on x86_64 (MySQL Community Server - GPL)
    
    安装的免费社区版本,步骤大致如下:
    
    1、直接解压下载的package。
    
    Windows 64 位 mysql 8.0.13 版本包解压中没有 data 目录和 my-default.ini 文件以及服务无法启动的解决办法以及修改初始密码的方法。
    
    2、没有 my-default.ini 文件,你可以在根目录下自己创建一个 my.ini 文件,具体内容如下:
    1.1、创建初始化文件my.ini 
    [mysql] 
    # 设置mysql客户端默认字符集 
    default-character-set=utf8 [mysqld] 
    # 设置3306端口 port = 3306 
    # 设置mysql的安装目录 
    basedir=C:webmysql-8.0.11 
    #允许最大连接数 
    max_connections=200 
    #服务端使用的字符集默认为8比特编码的latin1字符集 
    character-set-server=utf8 
    #创建新表时将使用的默认存储引擎 
    default-storage-engine=INNODB
    
    1.2、如果设置 mysql 数据库的数据的存放目录:
    
    datadir=C:websqldata
    这样会导致服务无法启动,不要添加这一句,也不要自己新建 data 文件夹,由 mysql 自动生成 data 就好。
    
    以管理员的方式打开 cmd 命令窗口(直接打开 cmd 运行,可能会报错),并且进入到 mysql 安装目录的 bin 目录下。然后输入以下命令:
    
    mysqld install
    mysqld --initialize
    net start mysql 
    最后就会生成 data 目录。 
    
    
    
    3、管理员权限启动cmd切换到安装目录bin下 

    4、检查是否有mysql服务 mysqld --romve 删除mysql服务

    5、安装mysql服务 mysqld --install

    6、初始化mysql服务 mysqld --initialize 一定要初始化 ,如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。

    7、启动MySQL服务 net start mysql 停止命令 net stop mysql

    8、其他配置 修改root密码

    9、相关报错处理 
    9.1 安装mysql,走到net start mysql 启动服务这步时,老是报错3534,原因是服务还没删除,需要删除
    
     net start mysql     
    
    9.2 登陆mysql报root密码错误
     mysql -u root -p
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 
    
    在MySQL的目录文件下会发现initialize后出现的名为data的文件夹,其中有一个以.err为后缀的文件,以记事本格式打开,
    查找‘password’,会发现有一句A temporary password ,意为“临时密码为:”,冒号之后的即是初次登录的密码
    
    mysql -u root -p
    D:mysql-8.0.13-winx64in>mysql -u root -p
    Enter password: ************
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 9
    Server version: 8.0.13
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql>

     修改root密码

    D:mysql-8.0.13-winx64in>mysqladmin -uroot -p"bK?K&9f!Tiwr" password "123"
    mysqladmin: [Warning] Using a password on the command line interface can be insecure.
    Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
    
    D:mysql-8.0.13-winx64in>mysql -u root -p
    Enter password: ***
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 11
    Server version: 8.0.13 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> quit
    Bye

     其他修改方式参考:

    方法1: 用SET PASSWORD命令   
    首先登录MySQL。  
    格式:mysql> set password for 用户名@localhost = password('新密码');  
    例子:mysql> set password for root@localhost = password('123');  
    方法2:用mysqladmin   
    格式:mysqladmin -u用户名 -p旧密码 password 新密码  
    例子:mysqladmin -uroot -p123456 password 123  
    方法3:用UPDATE直接编辑user表   
    首先登录MySQL。  
    mysql> use mysql;  
    mysql> update user set password=password('123') where user='root' and host='localhost';  
    mysql> flush privileges;  
    方法4:在忘记root密码的时候,可以这样   
    以windows为例:   
    1. 关闭正在运行的MySQL服务。   
    2. 打开DOS窗口,转到mysqlin目录。  
    3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。  
    4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysqlin目录。  
    5. 输入mysql回车,如果成功,将出现MySQL提示符 >。  
    6. 连接权限数据库: use mysql; 。  
    7. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。  
    8. 刷新权限(必须步骤):flush privileges; 。  
    9. 退出 quit。  
    10. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
    

     

    添加用户:

    MySQL 8.0.11 版本之后创建用户方法如下:
    
    CREATE USER 'laowang'@'localhost' IDENTIFIED BY '123456';
    授予账户权限的方法如下:
    
    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'laowang'@'localhost';
    授予所有权限:
    
    GRANT ALL PRIVILEGES ON *.* TO 'laowang'@'localhost';
    查看用户权限:
    
    show grants for 'laowang'@'localhost';
     mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'G;
    
    会出现:
    
    ERROR: 
    No query specified
    去掉分号就可以了,G 和分号 ; 的作用相似,两者取其一即可。

     

    mysql, mysqladmin, mysqld之间的区别。

    mysqld is the server executable (one of them)   #服务执行工具    
    mysql is the command line client  # 客户端工具   查询用
    mysqladmin is a maintainance or administrative utility  # 运维和管理工具
    

      



  • 相关阅读:
    JavaScript 多个空格替换成1个空格
    「DIARY」NOI2021 小结
    kubernetes常用命令总结
    Qt绘图(使用QPainter)翻转图像的两种方法
    android 11 R framework 新特证 开发备忘
    浏览器的缓存机制
    记el-tree 懒加载复选框回显的坑
    VUE根据文件流下载EXC
    西瓜视频播放器VUE
    推荐系统打散算法--权重
  • 原文地址:https://www.cnblogs.com/dahaoran/p/9917968.html
Copyright © 2020-2023  润新知