清风 mysql_MySQL数据库 - 清风_的个人页面 - OSCHINA - 中文开源技术交流社区

1.数据库my.cnf 配置

[root@localhost /]# cat /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

init-connect='SET NAMES utf8mb4'

character-set-server=utf8mb4

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#设置2进制日志文件目录

log-bin=mysql-bin

#指定索引的缓冲区大小,4G内存下设置256或者384合适

key_buffer_size = 16G

#每打开一个表,都会读入数据到table_open_cache中

table_open_cache = 2048

#用于ORDER BY时的缓冲大小,是针对的每个连接,所以不能太大

sort_buffer_size = 8M

#用于表间关联缓存的大小

join_buffer_size = 1M

#对表进行顺序扫描的请求

read_buffer_size = 4M

# tmp_table_size 的默认大小是 32M。如果一张临时表超出该大小,MySQL产生一个 The table tbl_name is full 形式的错误,如果你做很多高级 GROUP BY 查询,增加 tmp_table_size 值。

tmp_table_size = 246M

max_heap_table_size = 246M

#索引缓存大小: 它决定了数据库索引处理的速度,尤其是索引读的速度

key_buffer_size = 512M

#任意顺序读取行时

read_rnd_buffer_size = 16M

#查询到内容向网络传输时

net_buffer_length = 8K

#保存在缓存中的线程数量,

thread_cache_size = 300

##由于项目中一些表的增删改相对比较频繁,但是查询也占据了很大的一部分,还需要项目运行后观察一段时间

query_cache_size= 1024M

#指定单个查询能够使用的缓冲区大小,缺省为1M

query_cache_limit = 2M

# 和cpu的核心数有2倍的关系,我使用的是云服务器,设置这个参数后就启动不起来了

#thread_concurrency = 12

#提交事务后数据写入磁盘的时间点,设置为2可以对没有强烈的安全要求机制下,对速度提高很大

innodb_flush_log_at_trx_commit = 2

#批量插入数据缓存大小,可以有效提高插入效率,默认为8M

bulk_insert_buffer_size = 64M

# MyISAM表发生变化时重新排序所需的缓冲

myisam_sort_buffer_size = 128M

# MySQL重建索引时所允许的最大临时文件的大小 (当 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE).

# 如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)

myisam_max_sort_file_size = 10G

# 如果一个表拥有超过一个索引, MyISAM 可以通过并行排序使用超过一个线程去修复他们.

# 这对于拥有多个CPU以及大量内存情况的用户,是一个很好的选择.

myisam_repair_threads = 1

#自动检查和修复没有适当关闭的 MyISAM 表

myisam_recover

interactive_timeout = 120

wait_timeout = 120

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

2.启动方式

2.1.Linux

/etc/init.d/mysql restart

2.2.Mac

sudo /usr/local/mysql/support-files/mysql.server start

sudo /usr/local/mysql/support-files/mysql.server stop

sudo /usr/local/mysql/support-files/mysql.server restart

2.3.Windows

启动服务

3.定时任务

3.1.定时备份数据库

mysqldump -uroot -p"***" --events --ignore-table=mysql.events --all-databases -h 127.0.0.1 | gzip > /yourpath/mysql.bak.`date +%Y%m%d%H%M%S`.sql.gz

3.2.定时SQL任务

mysql -uroot -p"***" /yourpath/crontab_mysql.`date +%Y%m%d%H%M%S`.log

其中“/yourpath/crontab_mysql.sql”为需要执行的sql语句。

4.常见问题

4.1.Access denied for user 'root'@'localhost' (using password: YES)

# mysqladmin -uroot -p password 'newpassword'

Enter password:

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: YES)'

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD('newpassword') where USER='root';

mysql> FLUSH PRIVILEGES;

mysql> quit

# /etc/init.d/mysql restart

# mysql -uroot -p

Enter password:

注意,5.7版本数据库密码为“authentication_string”字段。

4.2.The user specified as a definer ('root'@'%') does not exist

权限问题,授权 给 root  所有sql 权限

mysql> grant all privileges on *.* to root@"%" identified by ".";

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值