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

搞定

相關文章
相關標籤/搜索