在Linux系统安装Mysql教程
引言
现在因为项目的需要在搭建Mysql的集群,从最简单的开始,先安装一个Mysql 在linux系统下。
步骤:
第一步:安装:
tarmysql-5.5.48-linux2.-x86_64.tar.gz
Copy到指定的路径下:
cpmysql-5.5.48-linux2.6-x86_64 /usr/local/mysql -r

添加系统mysql组合mysql用户:
执行命令:groupaddmysql和useradd -r -g mysql mysql

安装数据库:
进入安装mysql软件目录:执行命令 cd/usr/local/mysql
修改当前目录拥有者为mysql用户:执行命令chown -R mysql:mysql ./
安装数据库:执行命令./scripts/mysql_install_db --user=mysql
修改当前目录拥有者为root用户:执行命令chown -R root:root ./
修改当前data目录拥有者为mysql用户:执行命令chown -R mysql:mysql data
到此数据库安装完毕


启动mysql服务和添加开机启动mysql服务:
添加开机启动:执行命令cpsupport-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机初始化目录
启动mysql服务:执行命令servicemysql start

第二步:如何配置mysql:
查看咱们的mysql是否启动成功:
输入:ps -ef | grep mysql

修改mysql的root用户密码,root初始密码为空的:
执行命令:./bin/mysqladmin -u root -h localhost.localdomain password '密码'

把mysql客户端放到默认路径:
ln -s/usr/local/mysql/bin/mysql /usr/local/bin/mysql

注:
当启动客户端的时候,报:
Can't connect tolocal MySQL server through socket '/tmp/mysql.sock' (2)
解决方法:
问题,后来查看了一下咱们的,/etc/my.cnf:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
解决方案:
socket在/var/lib/mysql/mysql.sock路径下,这个时候,我们需要将如链接到mysql.sock到tmp/mysql.sock中就可以了。
注:其实,这个问题很明显了,大家看Socket的参数,在/var/lib/mysql/mysql.sock中,而tcp协议要找的地址为tmp/mysql.sock,所以,我们要不然酱上面的sockket=/tmp/mysql.sock。当然我们都知道,其实,我们只需要软连接到tmp/mysql.sock中就可以了。
我们采用的方法:

另外我们解决windows系统连接不上linux系统的mysql的问题:

这样,我们其实,我们所有对mysql的登陆,都是在mysql中的mysql库中的user表中进行登陆的,这个表中我们windows连接的时候,是这样的'user@host'的,举个简单的例子就是,如果我的电脑的ip为‘192.168.22.28',那么我发出的连接,就是这样的'root@192.168.22.28',这样,因此,我们在修改的时候,host为'%',代表了所有的连接客户端,这个时候,我们只需要对这个的password进行修改就可以了。
但是,我在我的Navicat中连接的时候,发现不能链接上,那么我就要查一下,看看是不是密码不对呀,我们再次查看user表:

我们可以看到,上面我们修改的密码为localhost为‘123456'(这里都是用MD5加密的),但是我们用的是‘%',这个时候,发现两个的密码不同的,这个时候,我们需要查看一下密码是什么,当然,我猜了一下,应该是root,因此,我把navicat的链接密码为‘root',发现能链接上了。。。
大家还可能出现这样的问题:

就是这样的telnet 连接mysql,出现乱码加h_mysql_native_passowrd的问题,这个时候,不要管它就可以了。没有什么影响的。
结论:
我们在做什么事情的时候,都需要去一边思考一边学习,才能让效率更快!
相关文章
MySQL中获取最大值MAX()函数和ORDER BY … LIMIT 1比较
mysql取最大值的的是max 和order by两种方式,同时也大多数人人为max的效率更高,在本文中,我们将介绍MySQL中MAX()和ORDER BY … LIMIT 1两种获取最大值的方法以及它们性能上的差异,同时我们将探讨这种性能差异的原因,并提供一些优化建议2024-03-03
Linux7.6二进制安装Mysql8.0.27详细操作步骤
大家好,本篇文章主要讲的是Linux7.6二进制安装Mysql8.0.27详细操作步骤,感兴趣的同学快来看一看吧,希望对你起到帮助2021-11-11
MySQL SHOW PROCESSLIST协助故障诊断全过程
这篇文章主要给大家介绍了关于MySQL SHOW PROCESSLIST协助故障诊断的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-02-02
mysql存储过程之循环语句(WHILE,REPEAT和LOOP)用法分析
这篇文章主要介绍了mysql存储过程之循环语句(WHILE,REPEAT和LOOP)用法,结合实例形式分析了mysql存储过程循环语句WHILE,REPEAT和LOOP的原理、用法及相关操作注意事项,需要的朋友可以参考下2019-12-12


最新评论