走了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安装完成!