zoukankan      html  css  js  c++  java
  • mysql 配置

    https://dev.mysql.com/doc/

    查看mysql配置文件位置

    /usr/sbin/mysqld --verbose --help | grep -A 1 'Default options'

    查看数据存放位置
    show global variables like "%datadir%"

    创建root用户

    create user 'username'@'%' identified by 'password';
    grant all privileges on *.* to username@"%";
    flush privileges;

    允许远程访问

    vim /etc/my.cnf
    注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1

    mysql 创建登陆文件(测试只能连本机的数据库,不能连远程)
    mysql_config_editor set --login-path=bb --host=localhost --port=3306 --user=root --password
    输入一次密码,这样,在用户目录就生成了一个隐藏的秘钥文件,.mylogin.cnf保存的就是登录用户和密码,内容已经加密

    修改密码

    update user set authentication_string =password('123') where user='root' and host='localhost'; 

    用户变量:变量名的形式为@varname; set @a = 1;
    系统变量全局变量会话变量。系统定义的全局变量都是以@@开头;没有指定是GLOBAL还是SESSION,当做SESSION处理。

    set global sort_buffer_size = 40000; 或者 set @@global.sort_buffer_size = 40000;
    set session varname = value; 或者 set @@session.varname = value;

    设置wait_timeout
    SHOW SESSION VARIABLES LIKE "%wait%";
    SET session wait_timeout=300;
    SHOW SESSION VARIABLES LIKE 'wait_timeout';

    SHOW VARIABLES LIKE '%max_connections%';

    set global max_connections=1024;

    查看连接数,状态
    show processlist;
    只列出前100条;如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
    show full processlist;

    杀掉一个连接进程:kill [id],比如:kill 15;

    数据来自表 :information_schema.processlist

    查看innodb 行锁的状态
    show status like 'innodb_row_lock_%';

    mysql 死锁分析
    show variables like 'innodb_deadlock_detect';
    show variables like 'innodb_lock_wait_timeout';
    SHOW ENGINE INNODB STATUS
    https://dev.mysql.com/doc/refman/5.7/en/innodb-deadlocks.html

    查看慢查询相关参数
    show variables like 'slow_query%';
    show variables like 'long_query_time';
    设置方法
    方法一:全局变量设置
    set global slow_query_log='ON';
    set global slow_query_log_file='/usr/local/mysql/data/slow.log';
    set global long_query_time=1;
    方法二:配置文件设置 修改配置文件my.cnf,在[mysqld]下的下方加入
    [mysqld]
    slow_query_log = ON
    slow_query_log_file = /usr/local/mysql/data/slow.log
    long_query_time = 1

    service mysqld restart
    测试
    select sleep(2);
    ls /usr/local/mysql/data/slow.log

    sql 命令 add, drop,modify 顺序

    alter table 表名 add column 字段名 MEDIUMTEXT binary;
    alter table 表名 drop column 字段名;
    alter table 表名 modify 字段名 字段类型 after 字段;

    alter table car_order add column meetingid int(11) UNSIGNED not null default 0 after carid ;

    查看索引 

    show index from 数据库表名 

    创建索引
    alter table 数据库 add index 索引名称(数据库字段名称)
    PRIMARY KEY(主键索引)
    ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
    UNIQUE(唯一索引)
    ALTER TABLE `table_name` ADD UNIQUE (`column`)
    INDEX(普通索引)
    mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
    FULLTEXT(全文索引)
    ALTER TABLE `table_name` ADD FULLTEXT ( `column`)

    查询当前时间戳
    select unix_timestamp(now());
    插入多条
    insert into table1 (b ,c) select b,c from table2;
    更新多条
    update role2 b set b.gem =(select gem11 from tmp c where c.rid2=b.rid);

    备份sql

    mysqldump --login-path=bb -h host1 -P port1 database  > /bak/db_$(date +%Y%m%d).sql  

    mysqldump --login-path=bb -h host1 -P port1 database table > /bak/db_$(date +%Y%m%d).sql

    mysqldump -uroot -p'123123'  dbname> dbname.sql

    导入sql

    mysql --login-path=bb database < ./test.sql

    source命令

    mysql -u root -p
    mysql>use 数据库
    然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
    mysql>source d:/dbname.sql

    mysqldiff (brew install mysql-utilities  比较db_1 和 db_2的差异)

    mysqldiff --server1=root:@localhost --server2=root:@localhost --changes-for=server2 --show-reverse --difftype=sql db_1:db_2

    定时执行 删除旧数据库文件 命令

    crontab -e

    30 3 * * * find /bak -mtime +5 -name 'db*.sql' -exec rm -rf {} ;
    每天凌晨3点半删除5天以前的旧数据文件。

    -mtime +n,-n, n (+n n*24 hours以前,-n n*24 hours 以后,n n*24 hours 以内)

    -exec 后面跟要执行的命令

    {} 命令之前的参数列表

    ; 结束命令

    mac mysql 8.0/sequel pro 配置

    #修改加密规则
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    Query OK, 0 rows affected (0.00 sec)
    #更新用户密码
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    Query OK, 0 rows affected (0.00 sec)
    #刷新权限
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    #修改用户密码
    mysql> alter user 'root'@'localhost' identified by 'mysql账户密码';
    Query OK, 0 rows affected (0.00 sec)

    https://sequelpro.com/test-builds 升级测试版本sequelpro

  • 相关阅读:
    WPF程序国际化
    MVVM框架搭建
    最全前端开发面试问题及答案整理
    最小化运行批处理
    C#中App.config文件配置获取
    VS2017 打包成exe
    Inno Setup生成桌面快捷方式
    C#文件读写(txt 简单方式)
    Flume 学习笔记之 Flume NG概述及单节点安装
    快学Scala 第二十课 (trait的构造顺序)
  • 原文地址:https://www.cnblogs.com/sanmubai/p/8073931.html
Copyright © 2011-2022 走看看