Linux安装MySQL(详解)

这是我安装了三次MySQL总结出来的流程。。。没啥问题了

1、下载

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

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

2、解压

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

#修改解压目录名称为mysql

3、添加用户组和用户

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

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

4、安装

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

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

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

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

           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

#启动服务
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

 如图:

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

5、登录测试 

#接着再进行以下操作
[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

6、重置用户密码

#刚安装好的MySQL,默认是没有密码的,所以在上面的登录测试时,直接可以进入mysql模式
#下面我们给用户设置密码:
mysql> use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;   

7、使用新密码登录

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

改用 mysql -uroot -p 登录:

解决方法:安装mysql命令行

        执行命令: yum install mysql

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

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

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

#(1)授权
#方法一:
mysql> use mysql; 
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
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安装完成!

猜你喜欢

转载自blog.csdn.net/qq_37584445/article/details/82259986