第一步:
1):下载mysql安装包:这里选择下载版本 5.6.33,通用版,linux下64位
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
第二步:
2):卸载老版本MySQL 查找并删除mysql有关的文件
find / -name mysql rm -rf 上边查找到的路径,多个路径用空格隔开
#或者下边一条命令即可 find / -name mysql|xargs rm -rf
第三步:
3):上传下载好的 MySQL tar包 到指定目录下并解压到指定目录下。上传途径(xftp 或 rz 命令)
tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C ../mysqlInstall
重命名解压后的文件
mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql
第四步:
4):先检查是否有mysql用户组和mysql用户
groups mysql
若无,则添加;
groupadd mysql useradd -r -g mysql mysql
若有,则跳过;
第五步:
5):进入 MySQL解压后的目录 更改权限
cd mysql/
chown -R mysql:mysql ./
第六步:
6):执行安装脚本
./scripts/mysql_install_db --user=mysql
安装完之后修改当前目录拥有者为 root用户,修改 data 目录拥有者为 mysql
chown -R root:root ./ chown -R mysql:mysql data
第七步:
7):更改 MySQL 密码
上一步安装脚本执行输出的日志中告诉我们如何更改密码了。
但是如果直接执行这两条命令就会报错。
因为这时还没有启动mysql,这算是一个坑。
启动方法如下:
./support-files/mysql.server start
注意:可能遇到的以下问题:
解决方案:
1):没有那个文件或目录
安装MySQL的整个过程。由于我的MySQL不是安装在标准的/usr/local/mysql目录,而是安装在 /opt/mysqlInstall/mysql-5.6.33 目录,导致在启动MySQL服务时报告找不到/usr/local/mysql目录的错误。
就是mysql.server启动文件,该文件所处路径 在解压包的support-files文件夹内,如果不修改的话启动会报错。
2-1):如果报如下的错误:如果报如下的错误:
原因是该路径下没有对应的文件;
解决方法:
mkdir /var/log/mariadb
chmod 700 /var/log/mariadb
启动 mysql。
2):未找到命令:
cp /usr/local/mysql/bin/my_print_defaults /usr/bin
3):如果MySQL启动报错,则可能是已经存在MySQL进程,杀掉即可。
ps aux|grep mysql kill -9 上边的进程号 #或者下边一条命令即可杀掉所有MySQL进程 ps aux|grep mysql|awk '{print $2}'|xargs kill -9
======
MySQL启动之后再执行如下命令更改密码:
./bin/mysqladmin -u root -h admin-02 password 'root'
admin-02:为本机名称
密码更改后即可登录MySQL:
./bin/mysql -h127.0.0.1 -uroot -proot
注意:可能发生的错误
解决方案:
vim /etc/hosts
第八步:
8):修改配置
但是如果 ./bin/mysql -uroot -proot 登陆 系统会报错:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";
具体可以参考帖子:https://blog.csdn.net/hjf161105/article/details/78850658
验证办法:
./bin/mysql -uroot -p -S /var/lib/mysql/mysql.sock
如果执行上述命令可以连接mysql,则使用下面解决办法
解决办法:
ln -s /var/lib/mysql/mysqld.sock /tmp/mysql.sock
ls /tmp/
同时,将 etc/my.cnf 文件的bind-address = 127.0.0.1 更改为 bind-address = 0.0.0.0,如果配置文件中没有这个配置,则手动添加上
第九步:
9):关闭防火墙
firewall-cmd --state 查看防火墙状态 systemctl disable firewalld.service 设置防火墙开机不启动
第十步:
10):增加远程登录权限
为解决这一问题,需要本地登陆MySQL后执行如下命令。
grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;
执行之后即可远程登录.