1.添加yum源
CentOS的官方yum源中没有,需要自己添。
在
/etc/yum.repos.d/
目录下创建mysql-5.6.repo文本文件
vim /etc/yum.repos.d/mysql-5.6.repo
内容见下:
vim /etc/yum.repos.d/mysql-5.6.repo
内容见下:
# Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=1 gpgcheck=0 gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
2.安装
然后yum search mysql ,就会有mysql-community-server.x86_64 安装它。
3.启动与停止
service mysqld start//启动服务
netstat -ano|grep 3306 //验证是否启动服务,MySql的默认段口号就是3306
service mysqld
stop//停止
service mysqld
restart //重启
4.允许远程登陆
默认是不允许别的主机登陆的。需要在mysql>模式下执行下列命令。注意分号。
use mysql; SELECT `Host`,`User` FROM user; UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1; flush privileges;
见下:
图4-1 允许远程登录
5.命令行执行sql
mysql -u yourUsername -p (回车,u:user p:password)(提示你输入密码)
(成功!)
//各种sql操作
exit
(退出成功)
exit
(退出成功)
status //查看版本等信息
6.用户名与密码
6.1 设置用户名密码
mysqladmin -u root -p yourPassword
6.2 重置密码
应用场景:自己忘掉或是别人恶意篡改。
1.修改配置
vim /etc/my.cnf,增加一行 skip-grant-tables。见图。
图6 增加一行,绕过验证
2.重启mysql
不使用密码或密码随便输即可。命令可参照本文前半部分。
3.重设密码
use mysql; update user set password=PASSWORD("123456") where user='root';4.重启
把my.cnf中多加的一行注释掉。
7.启动参数优化
mysql 5.6版本启动后占用内存达400多M,可以调小。
在/etc/my.cnf 中添加以下三行语句,然后重启mysql,内存降到100M以内。 performance_schema_max_table_instances=400 table_definition_cache=400 table_open_cache=256
8.日志
8.1 普通日志
mysql> show variables like 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | OFF | +---------------+-------+ 1 row in set (0.00 sec)可以看到日志功能是没有打开的。
8.2 错误日志
cat /etc/my.cnf,可以看到
log-error=/var/log/mysqld.log这里就是错误日志的地址。
9.客户端连接情况
mysql> select * from information_schema.processlist; +------+------+---------------------+----------+---------+------+-----------+-----------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +------+------+---------------------+----------+---------+------+-----------+-----------------------------------------------+ | 4366 | root | 115.28.88.165:57605 | AliyunDB | Sleep | 33 | | NULL | | 4369 | root | 115.28.88.165:57608 | AliyunDB | Sleep | 33 | | NULL | | 4372 | root | 115.28.88.165:57611 | AliyunDB | Sleep | 17 | | NULL | | 4374 | root | 115.28.88.165:57617 | AliyunDB | Sleep | 17 | | NULL | | 4367 | root | 115.28.88.165:57606 | AliyunDB | Sleep | 33 | | NULL | | 4368 | root | 115.28.88.165:57607 | AliyunDB | Sleep | 33 | | NULL | | 4375 | root | 115.28.88.165:57619 | AliyunDB | Sleep | 17 | | NULL | | 4377 | root | localhost | NULL | Query | 0 | executing | select * from information_schema.processlist | | 4370 | root | 115.28.88.165:57609 | AliyunDB | Sleep | 33 | | NULL | | 4371 | root | 115.28.88.165:57610 | AliyunDB | Sleep | 17 | | NULL | | 4373 | root | 115.28.88.165:57615 | AliyunDB | Sleep | 17 | | NULL | +------+------+---------------------+----------+---------+------+-----------+-----------------------------------------------+ 11 rows in set (0.00 sec)也可以以ip的维度group by:
select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;