mysql doc 配置_mysql 配置

查看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 port1database  > /bak/db_$(date +%Y%m%d).sql

mysqldump --login-path=bb -h host1 -P port1database 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值