文章目录
使用工具声明:
- 1.centOS6.6
- 2.本人在虚拟机中使用,在服务器上也行,后面会通过linux命令来安装percona toolkit方便慢日志查看管理
一.Linux下安装Mysql服务
下面的操作前先使用root权限
su root
1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令
yum search libaio
yum install libaio
2.在/home/用户名 下安装mysql5.7.21的gz二进制压缩包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
3.将mysql安装包解压到/usr/local目录下
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local
4.进入/usr/local目录
cd /usr/local
5.为mysql安装目录创建软链接
ln -s mysql-5.7.21-linux-glibc2.12-x86_64 mysql
6.为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
7.进入安装mysql软件的目录
cd /usr/local/mysql
8.修改当前目录拥有者为新建的mysql用户
chown -R mysql:mysql ./
9.安装mysql,完成后末尾产生随机密码,一定要记下来
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
10.开启mysql服务
./support-files/mysql.server start
11.将mysql进程放入系统进程中
cp support-files/mysql.server /etc/init.d/mysqld
12.重启mysql服务
service mysqld restart
13.
ln -s /usr/local/mysql/bin/mysql /usr/bin
14.使用随机密码登陆mysql数据库
mysql -u root -p
15.等待提示输入密码,输入mysql数据库密码,这个密码为第9步产生的随机密码
16.之后必须为mysql数据库设置新密码(下面root是用户名,123456是新密码)
alter user ‘root’@‘localhost’ identified by ‘123456’;
17.退出数据库,进入命令行(要再登陆mysql可以用第14步操作,再输入新密码即可)
exit
二.设置Mysql服务自启动
18.将mysql的服务文件拷贝到init.d下,并重命名mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
19.赋予可执行权限
chmod +x /etc/init.d/mysqld
20.添加服务
chkconfig --add mysqld
21.显示服务列表(若服务列表出现mysqld的345都是on的话,表示成功设置了mysqld的自启)
chkconfig --list
22.重启linux
reboot
23.验证是否重启后的3306是有监听,若有listening,则成功开启mysql服务开机自启(之后可以用service mysqld stop和service mysqld start谁是关闭和开启mysql服务了,开机它是自启的)
netstat -na | grep 3306
三.设置Mysql服务可以被远程连接
24.在iptables中开放3306端口(下面几步分别表示开放3306,保存,重启生效)
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
service iptables restart
25.再次登陆进数据库,输入新密码(用14步操作)
26.设置允许远程连接登陆密码
SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘123456’);
27.授权数据库远程连接
GRANT ALL PRIVILEGES ON . TO ‘root’ @’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
28.刷新权限
flush privileges;
29.在windows下用navicat连接linux中的mysql服务,成功!
以上骚操作中的注意点
- 在远程连接时候出现2003错误,可能是服务器的3306端口没开放,可执行第24步,若出现1045错误,可能是没有执行26步
- 建议使用xshell工具,该工具可以远程连接linux服务器,方便在windows中传文件给linux等,打开xshell,弹出的会话中点击左上新建,其中主机:填写linux服务器ip地址,点击确定,再连接,发现成功将本机连接到linux服务器,xshell中有命令台出现connection established表示成功连接了,这个命令行是远程linux的控制台,在root权限下(su root进入root权限),输入yum install lrzsz -y表示给linux安装传输文件的插件,之后就可以输入rz,就会弹出传文件的对话框,传输成功的文件在linux的/home/用户名 路径下。在xshell命令台中ctrl+insert表示复制,shift+insert表示粘贴。
四.安装percona toolkit(用于管理linux下mysql,方便慢日志查看管理)
执行下面操作前,先进入root权限下,通过su root命令
1.在linux下首先安装相关软件包(perl-DBD-MySQL,perl-DBI,perl-Time-HiRes,perl-TermReadKey,perl-IO-Socket-SSL,perl-Digest-MD5)在linux控制台或者远程连接好linux的xshell中的远端控制台中输入:
yum install -y perl-DBD-MySQL perl-DBI perl-Time-HiRes perl-TermReadKey perl-IO-Socket-SSL
2.在windows中下载percona toolkit的rpm包,下载后通过xshell上传到linux中
3.再在linux命令台中执行进行安装(注意,下面的percona-toolkit名字根据下载的文件名字而做更改)
rpm -ivh percona-toolkit.rpm
4.下面几步是为了查看开启慢日志,先进入mysql数据库中
mysql -u root -p
5.显示mysql服务的慢日志是否开启,off表示关了,on表示开启了
show variables like ‘slow_query%’;
6.显示慢日志查询是多少秒才会被记录进慢日志
show variables like ‘long%’;
7.临时开慢日志功能,以后每次还要输入来开启慢日志
show variables like ‘%slow_query_log%’;
8.通过exit命令退出数据库进入命令行,并且查询慢日志记录,利用了percona工具的mingling
pt-query-digest --report /usr/local/mysql/data/mysql_slow_query.log
注意:上面的/usr/local/mysql因为我的mysql是装在usr/local下的,在mysql中有个data文件夹,里头存了mysql_slow_query.log记录慢日志的文件