• mysql安装


    1检查

    1、首先检查自己电脑有没有安装过mysql,输入如下

    rpm -qa | grep mysql 

     如果有则清理干净在安装,输入

    whereis mysql

    2 将自带的mysql卸载

    rpm -e --nodeps mysql全名

    3、然后检查你系统是否自带mariadb,输入如下检查。

    rpm -qa | grep mariadb 

    4、如果有则需要把它卸载掉,因为会和Mysql引起冲突,输入如下卸载掉。

    rpm -e --nodeps mariadb-libs

    2开始下载

    https://dev.mysql.com/downloads/mysql/

     这里选择了linux通用版  Linux - Generic(glibc 2.12)  

     rpm版:要选择小红帽版  Red Hat ....... 

      这是win版    Microsoft Windows

     小红帽 RPM方式

     

    2 安装5.7版本(通用版 tar.gz) 暂时不要

    2.1 上传 mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz

    2.2解压 usr/local/

    tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

    2.3 改名

    mv mysql-5.7.40-linux-glibc2.12-x86_64 mysql5.7

    Centos7安装Mysql5.7_Nobody216的博客-CSDN博客_centos7安装mysql5.7

    3 安装 rpm版

     3.1 安装依赖

    yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel
    

    3.2上传的文件夹

    cd /usr/local/data

    3.3 直接解压当前目录即可,让npm自己安装去

    tar xvf  mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar 

     3.4 解压完直接让rpm自动安装即可 一定按照下面顺序安装有依赖关系

    1. rpm -ivh mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm --nodeps
    2. rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm --nodeps
    3. rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm --nodeps
    4. rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm --nodeps
    5. rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm --nodeps

     3.5 查看安装情况

     rpm -qa | grep mysql

     一定是全的

    3.6  启动mysql

     systemctl start mysqld.service

    3.7  查看是否启动成功()

    journalctl -xe

    3.8  查看初始密码

     cat /var/log/mysqld.log | grep password

    3.9  root用户登录mysql

    mysql -uroot -p

    3.10  重置密码

    SHOW variables LIKE 'validate_password%';

     报错

       退出客户端

     exit

     配置文件

    vim /etc/my.cnf  
    

     [mysqld] 下  增加这两行配置 解决(1820问题)

    1. [mysqld]
    2. #添加密码验证插件
    3. plugin-load-add=validate_password.so
    4. #服务器在启动时加载插件,并防止在服务器运行时删除插件
    5. validate-password=FORCE_PLUS_PERMANENT

     重启mysql

    systemctl restart mysqld

      重新登录mysql

    mysql -uroot -p

    修改验证策略为low

    set global validate_password_policy=0;

     修改密码最短长度为1

    set global validate_password_length=1;

     设置新的密码为123456

    alter user 'root'@'localhost' identified by '123456';

     查看默认编码(很多默认是拉丁文,配置文件改下面有)

    show variables like '%character%';

     设置mysql远程连接权限 (真实服务器不用设置root为远程访问,默认就是只能本地访问)

    1. show databases;
    2. # 进入mysql数据库
    3. use mysql;
    4. #查询用户和地址
    5. select user,host from user;
    6. # %为任意访问地址 ,修改用户和地址
    7. update user set host = '%' where user = 'root';
    8. # 刷新权限 权限更新后刷新才会起作用
    9. flush privileges;

     

    设置完重新登录验证

      编辑配置文件

     vim /etc/my.cnf

     设置编码(默认可能是拉丁)

    1. [mysqld]
    2. character-set-server=utf8mb4
    3. #忽略表名大小写 user表=USER表
    4. lower_case_table_names=1
    5. [client]
    6. default-character-set=utf8mb4
    7. [mysql]
    8. default-character-set=utf8mb4

    重启

    systemctl restart mysqld

     设置开机自启动

     vim /etc/rc.local

      添加下面配置

    service mysqld start

    兼容mysql5.6分组报错

     先查询出来

    show variables like '%sql_mode';

    将ONLY_FULL_GROUP_BY 剔除掉重新设置即可(但是之前创建表不起作用,还是要去配置文件设置)

    set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    创建用户并授权

    降低密码强度(不建议使用,123456这种密码 是不行的)

    1. SELECT @@VALIDATE_PASSWORD_POLICY;
    2. set global validate_password_policy = 0;

     创建用户张三 只能本地登录和访问

    create user 'zhangsan'@'localhost' identified by '123456';

    设置远程访问 %远程

    create user 'zhangsan'@'%' identified by '123456';

    刷新一下

    flush privileges;

    授权

    查询root用户权限信息:

    SHOW GRANTS FOR 'root';

     权限只会增,永远用最大权限,所以一定也要删除某些权限

     

      删除某个权限 GRANT变 revoke , TO 变 from

    1. 赋予最大权限 和root一样了
    2. GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'%'
    3. 删除上面的权限
    4. revoke ALL PRIVILEGES ON *.* FROM 'zhangsan'@'%';

    最大权限 (这俩都行)

    grant ALL ON *.* TO 'zhangsan'@'%';
    GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'%'

    只允许本地 (本机访问 且 只能创建库名 叫 “ku”的数据库)

    grant all privileges on ku.* to 'zhangsan'@'localhost';

    允许远程 (远程访问 且 只能创建库名 叫 “ku”的数据库)

    1. grant all privileges on ku.* to 'zhangsan'@'%';
    2. grant all privileges on 库名.表名 to '用户名'@'IP地址';

     刷新

    flush privileges;

    MySQL 用户授权_机佬在线搞机的博客-CSDN博客_mysql 授权

     开通防火墙端口3306端口

    1. firewall-cmd --permanent --add-port=3306/tcp
    2. firewall-cmd --reload

    linux上导入数据

    1、查看mysql中所有的数据库:

    show databases;

    2、创建一个  aa_dev 数据库:

    CREATE DATABASE  aa_dev DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

    3、用这个库

    use aa_dev;

    4、查看正在使用的是哪个数据库:

    select database();

     5、导入sql脚本

    source /usr/local/data/aa_dev.sql;

    6、查看已经有哪些表
     

    show tables;

  • 相关阅读:
    【毕业设计】深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别
    【C++】设计模式之观察者模式
    ajax教程
    基于MQTT的信息推送系统设计与实现
    关于二叉树的算法(JavaScript)
    你觉得ACID别扭吗?已经习惯了的ACID,原来是为了凑单词缩写?
    什么是Jmeter ?Jmeter使用的原理步骤是什么?
    使用jmeter进行接口测试
    nosql之问什么在你 ,答什么在我
    基于模板匹配与字符分割算法的车牌识别系统研究-含Matlab代码
  • 原文地址:https://blog.csdn.net/weixin_44383484/article/details/127787618