mysql配置讲解
vim /etc/my.cnf (这是MySQL的配置文件),核心配置文件是MySQLD
端口;监听socket;是否要过滤lock锁;key_buffer_size主要用于索引块的缓存区,增加它是为了得到更好的索引速度,登录mysql -uroot,show variables; (这个是查看它的一些参数),SHOW STATUS LIKE‘key_read%‘; 允许最大的包,用在mysql的一个web管理工具,叫做PHPmyadmin,可以导入一些文件;表示所有的线程打开表的数量;排序的缓存区大小,针对的是一个线程来说的;读的时候有个缓存区;rnd表示随机读;myisam针对这个引擎来说的,还有另一个是innodb引擎;thread缓存重用的线程数,跟CPU核数有关系,CPU是几何,这个就写成几就可以了;query这个是查询的缓存;thread_concurrency也是跟CPU核数有关系,它是最大并发线程数,一般是逻辑CPU*2。
还有其他的log_bin是配置二进制日志的,server_id。
还有一个是interactive_timeout跟wait_timeout,这两个是一起用的,wait_timeout是依赖于interactive_timeout的。
另外一个是关于慢查询的,打开慢查询日志,long_query_time跟log_slow_queries也是一起用的,我配置的是超过一秒就慢查询。
mysql的root密码重置
默认情况下没有去给mysql设置密码的
给mysql设置密码mysqladmin -uroot password ‘1305561612’
mysql -uroot就不能登录了,要输入密码才可以mysql -uroot -p1305561612,如果密码忘记了,我们把密码初始化,重新设置,vim /etc/my.cnf,skip-grant不去授权,然后重启一下/etc/init.d/mysqld restart,再mysql直接就可以登录了。
使用mysql库 use mysql ,然后更新一个表,也就是更改root用户的密码update user set password=password(‘1305561612’) where user=‘root’;可以去看select * from user where user=‘root’\G;
mysql登陆
远程登录mysql,mysql -uroot -h192.168.0.188 -P3306 -p1305561612 (-h是指定它的host它的IP,-P指定它的端口) ,可以去测一个,看看它有没有监听192.168.0.188,Telnet 192.168.0.188 3306,mysql -uroot -h127.0.0.1 -P3306 -p1305561612 去登录给192.168.0.188授权,grant all on *.* to ‘root‘@‘192.168.0.188‘ identified by ‘1305561612‘; (all所有的权限,前面的*表示库,后面的*表示表),可以去查看一下,use mysql,select * from user where host=‘192.168.0.188‘\G;
这样就授权成功了,再来远程登录mysql,mysql -uroot -h192.168.0.188 -P3306 -p1305561612;
select user();可以查看当前登录的用户;如果本地有多个mysql,可以用mysql -uroot -S /tmp/mysql.sock -p它的socket去登录也是可以的。
出现这个是因为192.168.0.188没有授权,而127.0.0.1已经授权了