Linux安装及配置MySQL(详解)

走了6遍的流程。。。没啥问题了mysql

 

注:这篇流程里面记录了以前走过的各类坑,同时也附上了解决方案,虽然能够直接给出正常流程,可是我我的以为贴出的这些坑以及解决方案仍是有做用的,算是笔记。有全流程详解,其实很快就能安装好的(约半个小时)。linux

一、下载sql

mysql各版本下载地址: http://ftp.ntu.edu.tw/MySQL/Downloads/vim

我这里选择5.5.47,通用版,linux下64位。服务器

二、解压tcp

#将安装包放到/usr/local目录下,解压
[root@iz8vb5o19rg1twsj651szwz local]# tar -zxvf mysql-5.5.47-linux2.6-i686.tar.gz

#修改解压目录名称为mysql

三、添加用户组和用户测试

#添加用户组
[root@iz8vb5o19rg1twsj651szwz local]# groupadd mysql

#添加用户mysql 到用户组mysql
[root@iz8vb5o19rg1twsj651szwz local]# useradd -g mysql mysql

四、安装阿里云

#设置权限
[root@iz8vb5o19rg1twsj651szwz local]# chown -R mysql .
[root@iz8vb5o19rg1twsj651szwz local]# chgrp -R mysql .
[root@iz8vb5o19rg1twsj651szwz local]# yum install libaio

#执行安装脚本:
[root@iz8vb5o19rg1twsj651szwz local]# cd mysql
[root@iz8vb5o19rg1twsj651szwz mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

#注意,在执行这一步时可能会遇到以下报错:
#(1)

报错:在64系统里执行32位程序若是出现/lib/ld-linux.so.2:spa

           bad ELF interpreter: No such file or directory.......操作系统

 

解决方法:安装glic

           执行命令:sudo yum install glibc.i686

#(2)再次执行刚才的安装命令

报错:

解决方法:安装libgcc

       执行命令:yum install libgcc libgcc.i686 

#(3)再再次执行刚才的安装命令

报错: 

解决方法:安装 libaio.so.1

          执行命令:yum install -y libaio.so.1

 执行后出现下图内容,则初始化成功!

成功后接着执行下面命令:

[root@iz8vb5o19rg1twsj651szwz mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@iz8vb5o19rg1twsj651szwz mysql]# chmod 755 /etc/init.d/mysqld

#注意:5.6以前的版本是此操做
[root@iz8vb5o19rg1twsj651szwz mysql]# cp support-files/my-medium.cnf /etc/my.cnf
# 5.6以后的版本执行如下操做
[root@iz8vb5o19rg1twsj651szwz mysql]# cp support-files/my-default.cnf /etc/my.cnf

#修改启动脚本
[root@iz8vb5o19rg1twsj651szwz mysql]# vi /etc/init.d/mysqld

#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql

#启动服务
[root@iz8vb5o19rg1twsj651szwz mysql]# service mysqld start

 

可能会报以下错误:

解决方法:编辑/etc/my.cnf文件

 

[root@iz8vb5o19rg1twsj651szwz mysql]#  vim /etc/my.cnf

#添加内容:
[mysqld]
datadir = /usr/local/mysql/data

#若是想开启mysql的日志机制,可在/usr/local/mysql目录下建立一个文件夹,命名为log,
#而后在该目录下手动建立一个文件:mysql.log
#再在[mysqld]模块中添加以下内容:
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql/log/slowquery.log
log_error=/usr/local/mysql/log/mysql.log

 如图:

文件保存后,再次启动,服务开启成功

五、登陆测试 

#接着再进行如下操做
[root@iz8vb5o19rg1twsj651szwz ~]# yum install ncurses ncurses-devel
[root@iz8vb5o19rg1twsj651szwz ~]# yum install libncurses.so.5
[root@iz8vb5o19rg1twsj651szwz ~]# /usr/local/mysql/bin/mysql -V

#登陆测试
[root@iz8vb5o19rg1twsj651szwz ~]# /usr/local/mysql/bin/mysql
#也可用如下方式登陆
[root@iz8vb5o19rg1twsj651szwz local]# ./mysql/bin/mysql -uroot

六、重置用户密码

#刚安装好的MySQL,默认是没有密码的,因此在上面的登陆测试时,直接能够进入mysql模式
#下面咱们给用户设置密码(假设设置密码为"test"):
mysql> use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;

#查看用户表密码是否已更改
mysql> select user,host,password from mysql.user;
mysql> exit;

七、使用新密码登陆

设置密码后,再次用 ./mysql/bin/mysql -uroot 登陆,则会报错:

改用 mysql -uroot -p 登陆:

解决方法:安装mysql命令行

        执行命令: yum install mysql

安装命令行后,再次登陆(可在任意位置进行登陆操做),显示须要输入密码,

这时候输入刚才设置的密码,便可登陆成功!

八、开启mysql的远程访问权限

#(1)受权
#方法一(test:密码):
mysql> use mysql; 
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "test";
mysql> flush privileges;

#方法二:
mysql> use mysql; 
mysql> update user set host = '%' where user = 'root'; 
mysql> select host, user from user; 
mysql> flush privileges;

#(2)而后,开放防火墙端口:
#打开防火墙配置文件
[root@iz8vb5o19rg1twsj651szwz ~]# vi  /etc/sysconfig/iptables

执行以上命令发现没有iptables文件,那是由于

操做系统默认使用的是firewall做为防火墙,把它停掉装个iptables:

[root@iZ94byqpectZ ~]# systemctl stop firewalld 
[root@iZ94byqpectZ ~]# systemctl mask firewalld
[root@iZ94byqpectZ ~]# yum install -y iptables 
[root@iZ94byqpectZ ~]# yum install iptables-services

 而后/etc/sysconfig目录下就有了iptables文件,咱们就能够作配置了:

#打开文件
[root@iZ94byqpectZ ~]# vi  /etc/sysconfig/iptables

#增长下面一行									
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

 上个图以供参考 ~

 

#重启防火墙
[root@iZ94byqpectZ ~]# service  iptables restart		
#注意:增长的开放3306端口的语句必定要在icmp-host-prohibited以前

#(3)若是是云服务器,则确保阿里云实例里开放了3306端口

 相关命令:

service mysqld restart     #重启mysql
service mysqld start        #启动mysql
service mysqld stop        #关闭mysql
service mysqld status     #查看运行状态

显示以下内容,则重启mysql服务成功

到此,MySQL安装完成!