Linux 各类软件的安装-mysql篇

做为一个长期混迹在windows圈的小白,当拿到一个新的linux服务器时,有点手足无措的赶脚。可是万事开头难嘛,Just Do It!html

下面记录一下本身安装各类软件时遇到的坑。这一篇先讲mysqlmysql

安装环境:系统是 centos7.3 64位linux

1:mysqlsql

一般软件都安装在 /usr/local下面数据库

#下载windows

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gzcentos

不然只能先经过windows下载,再用winscp传到linux系统了。bash

#解压服务器

tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gzsocket

#复制解压后的mysql目录

cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

#添加用户组

groupadd mysql

#添加用户mysql 到用户组mysql

useradd -g mysql mysql

#在mysql目录下建立data目录

mkdir ./data   (不要忘记了有个点)

#把mysql目录赋给mysql用户

chown -R mysql:mysql ./

#安装

./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

cp support-files/my-default.cnf /etc/my.cnf

#修改启动脚本

vi /etc/init.d/mysqld

下面这几行好像也要在etc/my.cnf里面改?vi /etc/my.cnf     ---20181227留

#修改项:

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

log-error = /usr/local/mysql/data/error.log

pid-file = /usr/local/mysql/data/mysql.pid

user = mysql
tmpdir = /tmp

#启动服务

service mysqld start

#加入环境变量,编辑 /etc/profile,这样能够在任何地方用mysql命令了

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile

#测试链接

./mysql/bin/mysql -uroot

#关闭mysql

service mysqld stop

#查看运行状态

service mysqld status

------------------------------分割线

遇到的问题:

1:MySQL提示:The server quit without updating PID file

先查看下错误日志,一般是权限问题,或者是已经存在mysqld进程,或者是/etc/my.cnf的data配置节没弄对,或者是打开了selinux,centos系统,默认会开启selinux

打开/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled

可是我遇到了这个问题上面的方法都没解决,后来发现是内存不足致使的。。穷人啊,没招,只好加内存,再重启,问题解决。。

2:sqlyog链接时,报1130错误,是因为没有给远程链接的用户权限问题

解决办法:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改为‘%’

use mysql;
select 'host' from user where user='root'; 
update user set host = '%' where user ='root';
flush privileges; 
\q

其实这一句能够修改为这样,
update user set host = '%' where host ='localhost';

3:sqlyog链接时,修改root密码

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;//记得要这句话,不然若是关闭先前的终端,又会出现原来的错误
mysql> \q

4:始化mysql数据库提示缺乏Data:dumper模块

 FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:

解决方法 :安装autoconf库
  命令:yum-y install autoconf   //此包安装时会安装Data:Dumper模块
 

这篇博文参考了如下link。https://www.cnblogs.com/bookwed/p/5896619.html

5:com.mysql.jdbc.PacketTooBigException: Packet for query is too large

缘由是mysql的max_allowed_packet设置太小引发的,我一开始设置的是1M,后来改成了20M

查看目前配置
show VARIABLES like '%max_allowed_packet%';

能够编辑my.cnf来修改(windows下my.ini), vi /etc/my.cnf

在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
若是找不到my.cnf能够经过

mysql --help | grep my.cnf

去寻找my.cnf文件.

6. Can't connect to local MySQL server through socket '***'

参考 http://aiezu.com/article/mysql_cant_connect_through_socket.html

解决方案:

  修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径彻底一致。以下: 

[mysqld]

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/data/mysql.sock

[client]

default-character-set=utf8

socket=/usr/local/mysql/data/mysql.sock

[mysql]

default-character-set=utf8

socket=/usr/local/mysql/data/mysql.sock

修改完后,重启mysqld服务,便可解决

7. Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum install -y libaio

搞定

相关文章
相关标签/搜索