MySQL++:liunx 安装 MySQL

第一步:

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;

执行之后即可远程登录.

posted @ 2020-05-19 16:26  coding++  阅读(405)  评论(0编辑  收藏  举报