复习电商笔记-20-linux版本mysql安装和操作

Linux下安装MYSQL

安装Percona分支版本的MySQL。性能超越标准的MySQL。

上传解压

首先安装 cmake

yum –y install cmake		//也需要安装gcc-c++,openssl openssl-devel。前面已经安装。
cd /usr/local/src/
mkdir mysql
cd mysql /
rz 上传安装包
tar -xvf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar

rpm -ivh Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm
rpm -ivh Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm
rpm -ivh Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm
rpm –ivh Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm

安装顺序:rpm包很多,只需安装debuginfo 、shared、client、server

安装目录

配置文件路径 /etc/my.cnf

注意:安装完成后,会将配置文件放在etc目录下

vi /etc/my.cnf

数据文件路径:/var/lib/mysql

扫描二维码关注公众号,回复: 4116585 查看本文章

启动服务

service mysql start		//自动安装到它自己制定的目录下,注册服务为mysql
service mysql status
service mysql stop

配置开机启动:

chkconfig --list			//展现开机的服务

修改root密码

默认没有密码不安全:

mysqladmin –u root password "root"

Warning警告提示,忽略即可。

登录:

mysql –uroot –proot

已经有密码进行修改

mysql> use mysql;
mysql> update user set password=PASSWORD('root') where user='root';
mysql> flush privileges;

验证是否成功安装

use mysql		//打开mysql数据库
show tables	//查看mysql数据库下的表

注意:Percona安装和mysql正式版的安装,在依赖上有区别。

打开3306端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save		#修改生效
/etc/init.d/iptables status			#查看配置

执行数据库的脚本

创建库和数据库表及数据

mysql>use jtdb;
mysql>set names utf8;				#防止乱码
mysql>source jtdb.sql;

拓展:如何快速导入大数据库备份文件

导入sql文件非常慢的问题

查看目标数据库的参数

#客户端/服务器之间通信的缓冲区的最大大小

show variables like 'max_allowed_packet';

#TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length行

show variables like 'net_buffer_length';

导出sql文件时指定参数

mysqldump -uroot -p 数据库名 -e --max_allowed_packet=4194304 --net_buffer_length=16384 > sql文件路径

导入sql文件

use 目标数据库

source /usr/local/src/lotteryanalysis.sql

查看有多少表,每张表有多少记录

mysql 5.6中的information schema,就是存储了很多数据库的元数据,其实很多可以用来做数据库的性能查询用。

USE information_schema;

SELECT table_name,table_rows FROM TABLES 
WHERE TABLE_SCHEMA = 'jtdb' 
ORDER BY table_rows DESC;

注意:[1]mysql内部原因,统计不准确


开启MYSQL远程访问权限

语法:

grant [权限] on [数据库名].[表名] to ['用户名']@['web服务器的ip地址'] identified by ['密码'];

grant all on *.* to 'root'@'%' identified by 'root';

或者指定IP地址

grant all on *.* to 'root'@'192.168.1.103' identified by 'root';

安装第二台MYSQL服务器

上传Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar 

 到/usr/local/src/mysql  解压后形成  7  个rpm包。

复制第一台的虚拟机,按上面配置后,开放端口,配置远程访问权限。

常见问题

PID file could not be found

mysql无法启动ERROR! MySQL is running but PID file could not be found ?

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

解决办法:

ps aux | grep mysql
kill -9 pid1 pid2 		#pid1,pid2为具体的查询出来的端口
service mysql start 或者 /etc/init.d/mysql start

提示uuid重复

由于data拷贝是全目录拷贝,将/var/lib/mysql/auto.cnf也拷贝,它里面记录了对数据库的一个uuid标识,随便产生个新的uuid,替换掉新目录中的auto.cnf中的uuid串即可。

可以用select uuid()来产生新值,手工黏贴到auto.cnf文件中。

 

The server quit without updating PID file

Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/snsgou.pid)

问题可能的原因有多种,具体什么原因最好的办法是先查看下错误日志:

1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限

解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

 

2、可能进程里已经存在mysql进程

解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

 

3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !

 

4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。

解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

 

5、skip-federated字段问题

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

 

6、错误日志目录不存在

解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

 

7、selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

猜你喜欢

转载自blog.csdn.net/qq_40680190/article/details/84074371
今日推荐