Linux安装Mysql–源码安装包
阿里云服务器,Aliyun Linux 2.1903 64位系统的Mysql 的安装以及远程访问设置
如果系统中没有自动配置yum网络源,Linux需要先配置网络yum源,确定yum能在线安装软件包,方便测试过程中安装部分依赖包。配置163网易提示的网络yum源参考博客
http://www.cnblogs.com/zoulongbin/p/5773330.html
**提示:**Linux软件编译安装都需要依赖两个安装包 gcc gcc-c++ make 可使用 yum -y install gcc gcc-c++ make 在线安装
一,安装mysql
1、 检查本机是否有安装mysql数据库。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKYDnzhw-1581860804999)(
2、卸载系统自带的mysql数据库。(卸载之前需要先把mysql数据库停止)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LR6e6APX-1581860805002)(E:\08.考试\笔记\微信截图_20200214163614.png)]
3、查看是否有残留mysql目录或文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V0Hae0HR-1581860805003)(E:\08.考试\笔记\微信截图_20200214163623.png)]
4、在线yum安装编译所需要的工具和库。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-koP1AvfE-1581860805004)(E:\08.考试\笔记\微信截图_20200214163636.png)]
5、检查安装编译所需要的工具和库是否已经安装完成。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gVQ9dvEn-1581860805005)(E:\08.考试\笔记\微信截图_20200214163823.png)]
6、编译安装mysql前需要先创建mysql用户和组,创建mysql安装目录及存放目录。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bnqovm3c-1581860805006)(E:\08.考试\笔记\微信截图_20200214163835.png)]
7、一般CentOS系统都没有自带安装cmake编译工具,yum也不一定能安装cmake编译工具,所以,本测试机下载cmake源码编译工具和mysql源码安装包。(mysql 5.5以上版本(包含mysql 5.5版本)都需要使用cmake工具进行编译,不能使用./configure编译)
Cmake官网下载地址:
https://cmake.org/download/
mysql源码安装包下载地址:
**标注:**mysql 5.7以上版本(包含 mysql 5.7版本)在使用cmake进行编译时会提示错误需要boost软件包支持。
官网下载地址:https://dev.mysql.com/downloads/mysql/
其它下载地址:http://mirrors.sohu.com/mysql/ (本测试机使用的这个下载地址,下载mysql-5.5.63.tar.gz安装包)
8、把下载好的cmake-3.7.2.tar.gz 和 mysql-5.5.53.tar.gz 安装包上传到CentOS 6.5创建的文件夹 /home/mysql 进行解压。(解压命令 tar –zxvf cmake-3.7.2.tar.gz)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FbTaq3Pp-1581860805007)(E:\08.考试\笔记\微信截图_20200214163850.png)]
9、编译安装cmake编译工具。(先执行./configure检查配置,再执行make编译,最后执行make install 安装)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JMIVm2cR-1581860805008)(E:\08.考试\笔记\微信截图_20200214163901.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ksY1MZK0-1581860805012)(E:\08.考试\笔记\微信截图_20200214163913.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZZIYQAEb-1581860805014)(E:\08.考试\笔记\微信截图_20200214163924.png)]
10、编译安装mysql软件包。(先执行 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc 再执行 make 最后执行 make install )
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDLF9Hk4-1581860805017)(E:\08.考试\笔记\微信截图_20200214163943.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V7vQ8eat-1581860805019)(E:\08.考试\笔记\微信截图_20200214163955.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FZIlSNLg-1581860805020)(E:\08.考试\笔记\微信截图_20200214164007.png)]
说明:(主要用到三个参数值,网上截的图仅供参考,mysql安装路径以上面的操作为准)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4qTuWcnL-1581860805021)(E:\08.考试\笔记\微信截图_20200214164151.png)]
11、生成 mysql系统数据库,添加my.cnf配置文件软连接。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dbsm5Fk2-1581860805022)(E:\08.考试\笔记\微信截图_20200214164206.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K8BzQRj2-1581860805024)(E:\08.考试\笔记\微信截图_20200214164215.png)]
12、mysql添加系统开机自动启动功能。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oafvLb2x-1581860805025)(E:\08.考试\笔记\微信截图_20200214164229.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zYBRtH4z-1581860805026)(E:\08.考试\笔记\微信截图_20200214164240.png)]
13、把mysql服务添加系统环境变量。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-demP2Kni-1581860805026)(E:\08.考试\笔记\微信截图_20200214164255.png)]
14、启动mysql服务。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02EtVX67-1581860805028)(E:\08.考试\笔记\微信截图_20200214164307.png)]
15、输入mysql –uroot -p 登录测试成功。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8JATgivm-1581860805029)(E:\08.考试\笔记\微信截图_20200214164317.png)]
二,修改密码(跳过密码验证)
16.修改密码
登录遇到ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using passwor:yes)问题
一般这个错误是由密码错误引起,解决的办法自然就是重置密码。
假设我们使用的是root账户。
16.1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NcnxdWfX-1581860805030)(E:\08.考试\笔记\微信截图_20200214164327.png)]
保存文档并退出
16.2.接下来我们需要重启MySQL:
/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5flOCZwG-1581860805031)(E:\08.考试\笔记\微信截图_20200214164334.png)]
16.3.重启之后输入mysql即可进入mysql。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZQXqDQ5-1581860805032)(E:\08.考试\笔记\微信截图_20200214164343.png)]
16.4.接下来就是用sql来修改root的密码
进入到终端当中,敲入 mysql -u root -p
命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中
// 输入sql语句进行root用户的密码修改
mysql> update user set password=password(“你的新密码”) where user=“root”;
// 刷新权限
mysql> flush privileges;
//退出
mysql> quit
注意:如果在执行该步骤的时候出现ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
错误。则执行下 flush privileges
命令,再执行该命令即可。
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
网上有很多关于这个问题的解决说明,很多刚接触的朋友可能比较迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t3Wtlybc-1581860805033)(E:\08.考试\笔记\微信截图_20200214164355.png)]
至于windows平台,去安装目录下找一下my.ini吧。
三.设置远程访问权限
17,设置mysql能够远程访问:
- 首先登录数据库: mysql -u root -h localhost -p password
- 打开mysql数据库: use mysql;
- 将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip:update user set host=’%’ where user=’root’ and host=’localhost’;
- 刷新权限表,使配置生效: flush privileges;
四.阿里云服务器上开放端口
18,开放阿里云Mysql的访问权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fe0EcfYp-1581860805035)(E:\08.考试\笔记\微信截图_20200214160320.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XlF1L4LJ-1581860805036)(E:\08.考试\笔记\微信截图_20200214160434.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZJOWI5WE-1581860805037)(E:\08.考试\笔记\微信截图_20200214160448.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A2lw0Vl5-1581860805038)(E:\08.考试\笔记\微信截图_20200214160508.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9E0o1tUK-1581860805039)(E:\08.考试\笔记\微信截图_20200214160733.png)]
五.使用SQLyog创建远程连接
18.打开图形化软件进行远程连接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3QazBCVK-1581860805040)(E:\08.考试\笔记\微信截图_20200214162536.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1gmUCWuL-1581860805042)(E:\08.考试\笔记\微信截图_20200214163439.png)]
特殊操作:(报错后的操作)
#把mysql库文件链接到系统默认位置,以后类似PHP等软件就可以不指定mysql的库文件地址。
[root@ssticentos65 mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@ssticentos65 mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
#创建mysql启动文件 mysql.sock 软链接。(mysql.sock作用是例如你无须定义连接host的具体IP地址,只要为空或localhost就可以,如果文件被删除掉就使用localhost用户连接不到mysql服务器。)
[root@ssticentos65 mysql]# mkdir /var/lib/mysql
[root@ssticentos65 mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
1.第九步cmake 执行./configure时报错
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lDmO2cts-1581860805043)(E:\08.考试\笔记\微信截图_20200214170125.png)]
解决方法:
error: Cannot find OpenSSL’s ,这个比较好解决,一定就是缺少包了。安装上即可,查了一下资料发现缺少了openssl包。在CentOs系统中可以通过YUM来安装:
yum install openssl openssl-devel
第十步保所预编译安装MySQL是报错
执行 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tFl7VVM9-1581860805044)(E:\08.考试\笔记\微信截图_20200214170147.png)]
解决方法
http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
下载boost_1_59_0.tar.gz
在你编译的包文件下,比如说我的包在/home/mysql/mysql-5.7.29下创建一个名为boost的文件夹mkdir -p /home/mysql/mysql-5.7.29/boost
将boost_1_59_0.tar.gz复制到新建的文件夹下:cp boost_1_59_0.tar.gz /home/mysql/mysql-5.7.29/boost
解压boost_1_59_0.tar.gz:tar -zxvf boost_1_59_0.tar.gz
继续cmake,加上选项-DWITH_BOOST=./boost :
cd /home/mysql/mysql-5.7.29
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc DWITH_BOOST=./boost
这里的boost被定位在:当前你所在文件夹的boost文件下,.
代表当前路径。
Linux安装Mysql–rpm,yum在线安装
一、安装mysql数据库。
(1)下载mysql源安装包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
(2)安装mysql源:yum localinstall mysql57-community-release-el7-8.noarch.rpm
若结尾出现complete!,则说明MySQL源安装完成
(3)检测是否安装完成:yum repolist enabled | grep “mysql.-community.”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gS5DwTB2-1581860805045)(E:\08.考试\笔记\微信截图_20200214171749.png)]
(4)安装mysql:yum install mysql-community-server
若结尾出现Complete!, 则MySQL安装完成
(5)设置开启启动mysql服务:systemctl enable mysqld
(6)查看安装的mysql版本:rpm -aq | grep -i mysql
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ludxwlYz-1581860805046)(E:\08.考试\笔记\微信截图_20200214171757.png)]
(7)启动MySQL服务:systemctl restart mysqld
二,修改密码
(8)查看MySQL初始密码:grep ‘A temporary password’ /var/log/mysqld.log
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nsiF2wqn-1581860805047)(E:\08.考试\笔记\微信截图_20200214171815.png)]
(9)更改MySQL密码:mysqladmin -u root -p’旧密码’ password ‘新密码’
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UUh5arPH-1581860805049)(E:\08.考试\笔记\微信截图_20200214171822.png)]
这里更改密码出了问题,更改失败,这是因为密码太过简单的原因。有两个接解决方法:
方法一:把密码设置复杂点(这是最直接的方法)
方法二:关闭mysql密码强度验证(validate_password)
编辑配置文件:vim /etc/my.cnf, 增加这么一行validate_password=off
编辑后重启mysql服务:systemctl restart mysqld
三,设置mysql能够远程访问:
- 首先登录数据库: mysql -u root -h localhost -p password
- 打开mysql数据库: use mysql;
- 将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip:update user set host=’%’ where user=’root’ and host=’localhost’;
编辑配置文件:vim /etc/my.cnf, 增加这么一行validate_password=off
编辑后重启mysql服务:systemctl restart mysqld
三,设置mysql能够远程访问:
- 首先登录数据库: mysql -u root -h localhost -p password
- 打开mysql数据库: use mysql;
- 将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip:update user set host=’%’ where user=’root’ and host=’localhost’;
- 刷新权限表,使配置生效: flush privileges;