• CentOS安装MySQL


    CentOS安装MySQL

    版本:5.7.25-linux-glibc2.12-x86_64

    1、卸载系统自带的mariaDB【重要】

    #查看是否存在
    rpm -qa|grep mariadb
    
    #卸载
    rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
    
    #检查是否仍然存在
    rpm -qa|grep mariadb
    
    #删除默认的my.cnf
    rm /etc/my.cnf
    

    2、解压MySQL文件

    tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
    

    3、移动MySQL文件夹

    mv mysqlxxxxx /usr/local/mysql
    

    4、创建用户和组

    #创建组
    groupadd mysql
    #创建用户并添加到组
    useradd -r -g mysql mysql
    #授权
    chown -R mysql:mysql /usr/local/mysql
    

    5、编辑配置文件

    vi /etc/my.cnf
    

    datadir为数据库文件存储目录,尽量指定一个比较大的目录,这个目录也记得授权给mysql用户。

    下面两个文件的目录也要同步修改

    • log-error
    • pid-file

    修改最大连接数:

    • max_connections:最大连接数如果不修改 默认是100,根据实际情况修改
    [mysqld]
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    port = 3306
    socket = /tmp/mysql.sock
    character-set-server=utf8
    
    log-error = /usr/local/mysql/data/mysqld.log
    pid-file = /usr/local/mysql/data/mysqld.pid
    
    lower_case_table_names = 1
    
    max_connections=2000
    
    :wq
    

    注意前两行可能会丢失字符,检查好了再保存

    6、初始化数据库

    cd /usr/local/mysql/bin/
    ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    

    7、查看原始密码

    cat /usr/local/mysql/data/mysqld.log
    

    8、将启动脚本放到开机初始化目录

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    

    9、启动MySQL

    service mysql start
    

    10、使用默认的root账号密码登录MySQL

    cd /usr/local/mysql/bin/
    # 这里默认的密码很有可能有特殊字符 建议密码加上'' 如:./mysql -uroot -p'HDSUIYT%^*&AS'
    ./mysql -uroot -p<此处加上8中查到的密码>
    

    11、修改root密码

    mysql> set password=password('root');
    mysql> grant all privileges on *.* to root@'%' identified by 'root';
    mysql> flush privileges;
    

    12、添加远程访问权限

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    

    13、重启MySQL

    service mysql restart
    

    14、【可选】创建用户和授权

    1、进入mysql数据库下

    mysql> use mysql
    Database changed
    

    2、对新用户增删改

    1.创建用户:
    # 指定ip:192.118.1.1的mjj用户登录
    create user 'alex'@'192.118.1.1' identified by '123';
    # 指定ip:192.118.1.开头的mjj用户登录
    create user 'alex'@'192.118.1.%' identified by '123';
    # 指定任何ip的mjj用户登录
    create user 'alex'@'%' identified by '123';
    
    2.删除用户
    drop user '用户名'@'IP地址';
    
    
    3.修改用户
    rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
    
    4.修改密码
    set password for '用户名'@'IP地址'=Password('新密码');
    

    3、对当前的用户授权管理

    #查看权限
    show grants for '用户'@'IP地址'
    
    #授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作
    grant select ,insert,update on db1.t1 to "alex"@'%';
    
    # 表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作
    grant all privileges  on db1.t1 to "alex"@'%';
    #mjj用户对db1数据库中的文件执行任何操作
    grant all privileges  on db1.* to "alex"@'%';
    #mjj用户对所有数据库中文件有任何操作
    grant all privileges  on *.*  to "alex"@'%';
     
    #取消权限
     
    # 取消mjj用户对db1的t1文件的任意操作
    revoke all on db1.t1 from 'alex'@"%";  
    
    # 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限
    
    revoke all on db1.* from 'alex'@"%";  
    
    取消来自远程服务器的mjj用户所有数据库的所有的表的权限
    revoke all privileges on *.* from 'alex'@'%';
    

    4、MySql备份命令行操作

    # 备份:数据表结构+数据
    mysqdump -u root db1 > db1.sql -p
    
    
    # 备份:数据表结构
    mysqdump -u root -d db1 > db1.sql -p
    
    #导入现有的数据到某个数据库
    #1.先创建一个新的数据库
    create database db10;
    # 2.将已有的数据库文件导入到db10数据库中
    mysqdump -u root -d db10 < db1.sql -p
    

    15、防火墙的开启和关闭

    firewall-cmd --zone=public --add-port=3306/tcp --permanent   # 开放mysql端口
    firewall-cmd --reload   # 配置立即生效<无论释放了哪个端口都要重新运行此命令>
    

    此配置在重启后仍然生效

    16、MySQL开机自启

    首先科普一下:/etc/rc.local是用于配置启动系统时,执行的命令,它其实是一个软连接。其真正的位置在/etc/rc.d/rc.local。所以我们要先赋予这个文件权限。

    #赋予启动文件权限(重要)
    chmod 777 /etc/rc.d/rc.local
    
    #编辑启动文件
    vi /etc/rc.local
    
    #添加如下内容 下面的mysql根据自己配置的服务名
    service mysql start
    
  • 相关阅读:
    一.创建型模式 Factory
    Tcp/Ip I/O函数
    Tcp/Ip协议理解_简单实例
    Tcp/Ip协议理解_3
    Tcp/Ip协议理解_2
    Tcp/Ip协议理解_1
    abp+angular+bootstrap-table的使用
    Abp mvc angular 添加视图
    Abp添加菜单
    JS 获取一串路径中的文件名称
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/16356215.html
Copyright © 2020-2023  润新知