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

posted @ 2017-12-20 15:19  boybai  阅读(276)  评论(0编辑  收藏  举报