Linux平台上推荐使用RPM包来安装Mysql,MySQL 提供了以下RPM包的下载地址:
- MySQL-MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
- MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
- MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
- MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
- MySQL-bench - MySQL数据库服务器的基准和性能测试工具。
安装过程中可能发生的错误在文章底部都有说明和解决步骤:
安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
如果你系统有安装,那可以选择进行卸载:
// 普通删除模式
rpm -e mysql
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
rpm -e --nodeps mysql
安装 MySQL:
接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址:https://dev.mysql.com/downloads/repo/yum/
![fcdd645cb186e4eb96bdd9077c15fa38.png](https://i-blog.csdnimg.cn/blog_migrate/a010414dae3950e3594033e3bcc1a1b4.jpeg)
这里我们选择使用wget下载:
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
安装:
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
yum install mysql-server
安装过程中会需要提示下载依赖,按y确认下载即可:
![76f62720eb7dbaa528b2ed3c4a7a4034.png](https://i-blog.csdnimg.cn/blog_migrate/996ad25dc13fbba8d328c4b815a3dd63.jpeg)
初始化MySQL:
mysqld --initialize
启动 MySQL:
service mysqld start
查看 MySQL 运行状态:
service mysqld status
验证 MySQL 安装
在成功安装 MySQL 后,一些基础表会被初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。
使用 mysqladmin 工具来获取服务器状态:
mysqladmin --version
linux上该命令将输出以下结果,该结果基于你的系统信息:
![99522d857b9812034d3f24876cd9c5cd.png](https://i-blog.csdnimg.cn/blog_migrate/44629b67e31a5094e915f303a0b7d870.png)
如果以上命令执行后未输入任何信息,说明你的Mysql未安装成功。
使用 MySQL Client(Mysql客户端) 执行简单的SQL命令
你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到Mysql服务器上,默认情况下Mysql服务器的密码为空,所以本实例不需要输入密码。
命令如下:
mysql -uroot-p
以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
安装问题错误解决:
1,Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details. 错误
![325c55366ad68d9f93cf22916129dd84.png](https://i-blog.csdnimg.cn/blog_migrate/93e118e21c838bc896f918f061803501.png)
根据提示,分别使用service mysqld status和journalctl -xe查看服务启动失败的原因,发现是目录权限不足造成的,通过查看mysql目录发现目录下有的文件归属还是root,改成mysql即可
![8a380191b6b83df054ecffb6e0963166.png](https://i-blog.csdnimg.cn/blog_migrate/354a95a6223ebc612925338e4aea0cb1.png)
ll /var/lib/mysql |grep mysql
chown -R mysql:mysql /var/lib/mysql
2,ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) 错误
![6122f7c83ebaaccd4888bb88d34848e8.png](https://i-blog.csdnimg.cn/blog_migrate/e5f9e2dc6be8157f052e7b4b82bcbfd3.png)
停止mysql服务:
service mysqld stop
修改配置文件无密码登录:
vi /etc/my.cnf
在最尾部加上:
skip-grant-tables
![3208d7b70f2f76ef79e793c7cdacfa61.png](https://i-blog.csdnimg.cn/blog_migrate/d15d2e46e323e3b4d0ab104b7bc514b1.jpeg)
保存,启动mysql:
service mysqld start
登录mysql:
mysql -u root
查询mysql数据库:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
选中mysql数据库:
mysql> use mysql;
Database changed
首先更新root密码为空字符串:
update user set authentication_string='' where user='root';
退出,删除之前步骤加上的 “skip-grant-tables” 然后重启mysql:
// 1,退出
exit
// 2,修改,删除最后的skip-grant-tables
vim /etc/my.cnf
// 3,重启
service mysqld restart
然后再登陆Mysql:
mysql -uroot
使用ALTER修改root用户密码,方法为 ALTER user ‘root’@’localhost’ IDENTIFIED BY ‘新密码’。如下:
ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码';
然后再用exit退出,再次登陆mysql就需要使用密码了,密码就是刚刚修改的密码
————————————————
版权声明:本文为CSDN博主「hwmhehe」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:Linux 通过RPM包安装 MySQL 8.0