【MYSQL】CentOS7 離線安裝MySQL5.6.26


CentOS7 離線安裝MySQL5.6.26

安裝環境:系統是 CentOS Linux release 7.5.1804 (Core)

安裝軟件:MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar

1、卸載之前安裝的MySQL

[root@localhost data] rpm -qa | grep mysql --查看系統之前是否已安裝MySQL。
[root@localhost data] rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 --執行刪除語句
[root@localhost data] rm -rf /var/lib/mysql* --善后處理
[root@localhost data] rm -rf /usr/share/mysql*

2、安裝MySQL
2.1 下載並安裝 libaio

[root@localhost data] cd /usr/local
[root@localhost data] wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
[root@localhost data] rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

2.2 下載並安裝MySQL

[root@localhost data] cd /data
[root@localhost data] wget https://dev.mysql.com/get/archives/mysql-5.6/MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
[root@localhost data] tar -xf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
[root@localhost data] rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
[root@localhost data] rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

注意:rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm可能報錯:

  1. 問題
[root@localhost data]# rpm -ivh MySQL-server-5.6.27-1.el6.x86_64.rpm --nosignature
Preparing... ################################# [100%]
Updating / installing...
1:MySQL-server-5.6.27-1.el6 ################################# [100%]
warning: user mysql does not exist - using root
warning: group mysql does not exist - using root
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper

方法[root@localhost data]# yum install -y perl-Module-Install.noarch

  1. 問題
[root@localhost data]# service mysql start
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)

方法具體看報錯日志
[root@localhost data]#cat /var/lib/mysql/localhost.err
如果是權限:chown 、chmod
如果是ERRORCan't open and lock privilege tables: Table 'mysql.user' doesn't exist
可能是mysql.user我安裝時沒初始化好導致,用下面命令初始化一下數據庫
初始化數據庫:[root@localhost data]#mysql_install_db --user=mysql
4. 問題
selinux惹的禍,如果是centos系統,默認會開啟selinux
方法 關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器。
5. 問題

file /usr/share/mysql/charsets/README from install of MySQL-server-5.6.27-1.el6.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64
方法:系統已經安裝了其他版本的mariadb-libs包和mysql數據庫文件導致不兼容。

[root@localhost data]# yum remove mariadb-libs-1:5.5.41-2.el7_0.x86_64

2.3 查看並修改MySQL root用戶密碼

~~# more /root/.mysql_secret(忽略)~~
[root@localhost data]# service mysql restart
~~# mysqladmin -uroot -pFeyU2YjwMcAw9Nv0 password 'root' --修改root密碼為root(忽略)~~
[root@localhost data]# /usr/bin/mysqladmin -u root password 'root'
~~[root@localhost data]# /usr/bin/mysqladmin -u root -h localhost password 'root'(忽略)~~ 
# mysql -uroot -proot --測試登陸

2.4 配置MySQL數據庫編碼

[root@localhost data]# cp -rp /usr/share/mysql/my-default.cnf /etc/my.cnf
# 在mysqld下面增加
init-connect='SET NAMES utf8'
character-set-server = utf8
[root@localhost data]# service mysql restart
[root@localhost data]# mysql -uroot -proot --驗證是否成功
mysql> show variables like 'character%'; show variables like 'character%';

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

2.5 配置MySQL遠程訪問

CentOS 7.0默認使用的是firewall作為防火牆

[root@localhost data]# systemctl stop firewalld.service #停止firewall
[root@localhost data]# systemctl disable firewalld.service #禁止firewall開機啟動
[root@localhost data]# firewall-cmd --state #查看默認防火牆狀態(關閉后顯示notrunning,開啟后顯示running)
[root@localhost data]# mysql -uroot -proot
mysql> grant all privileges on *.* to root@'%' identified by 'root' WITH GRANT OPTION;
mysql> flush privileges;

2.6 查看mysql數據庫文件存儲位置

[root@localhost data]# mysql -uroot -proot
mysql> show global variables like "%datadir%";


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM