最近又来到了Linux学习了,原因是要接触云服务器相关知识,
所以博主整理了一些关于Linux的知识,
欢迎各位朋友点赞收藏,天天开心丫,快乐写代码!
** Linux系列文章请戳 ** Linux教程专栏****
目录
本期给大家带来Ubuntu版的Linux安装MySQL数据库,话不多说,上教程!
全篇可以分为四个部分,每一个部分都是细节满满,如果本篇教程对你有帮助,欢迎点赞评论收藏!
一、卸载MySQL
看到这里可能有人会觉得疑问
为什么要卸载MySQL?我不是还没安装MySQL吗?注意,这里针对的是那些曾经尝试过安装MySQL,但是没有安装成功的小伙伴!
如果你之前从来没有安装过MySQL,请直接跳转到第二步!
为了防止进行下面的二、三、四步骤出现各种疑难杂症,这里的操作是很有必要的。
下面以MySQL5.7版本为例:
1.1 查看MySQL的依赖项
首先执行 su 命令进入超级用户,
这里补充一个小知识,超级用户切换回普通用户执行 exit 命令即可。
输入密码后执行下面这个命令,查看mysql依赖:
dpkg --list | grep mysql
之后会出现类似于这样的代码:
ii mysql-client 5.7.33-0ubuntu0.16.04.1 all MySQL database client (metapackage depending on the latest version)
ii mysql-client-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database client binaries
ii mysql-client-core-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database core client binaries
ii mysql-common 5.7.33-0ubuntu0.16.04.1 all MySQL database common files, e.g. /etc/mysql/my.cnf
ii mysql-server 5.7.33-0ubuntu0.16.04.1 all MySQL database server (metapackage depending on the latest version)
ii mysql-server-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database server binaries and system database setup
ii mysql-server-core-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database server binaries
1.2 卸载mysql服务器和common
然后卸载mysql-common,执行下面的代码:
sudo apt remove mysql-common
接下来我们卸载并清除mysql5.7,输入如下代码:
sudo apt autoremove --purge mysql-server-5.7
卸载时会出现下面的图形界面提示:
通过键盘选择‘是’即可。
接下来清除残留数据,输入如下代码:
dpkg -l | grep ^rc| awk '{print$2}'| sudo xargs dpkg -P
执行完之后会出现如下一些提示:
sh: 0: getcwd() failed: No such file or directory
注意这不是报错,不用纠结,继续执行下一步。
1.3 再次检测依赖确保删除干净
最后再次检查依赖项,输入如下代码:
dpkg --list | grep mysql
如果输出为空,那么表示mysql已经彻底卸载干净了,如果不为空那么我们还要继续进行删除卸载。
继续输入如下代码:
sudo apt autoremove --purge mysql-apt-config
到底为止,Ubuntu上的mysql就已经彻底删除卸载干净!
二、安装MySQL
2.1 更新软件库
执行下面的命令进行更新软件库:
sudo apt-get update
2.2 安装MySQL服务器和客户端
安装MySQL服务器:
sudo apt-get install mysql-server
在安装过程中,系统将提示您创建root密码,
使用一个简单的密码并确保记住它,因为后面需要用到这个密码。
安装MySQL客户端:
sudo apt-get install mysql-client
mysql-server和mysql-client区别
mysql-server 是MySQL核心程序将安装MySQL数据库服务器,用于生成管理多个数据库实例,持久保存数据并为其提供查询接口(SQL),供不同客户端调用。
mysql-client 是操作数据库实例的工具,允许连接到MySQL服务器使用该查询接口。它将为您提供MySQL命令行程序。
如果只需要连接到远程服务器并运行查询,只安装mysql-client就可以了。
如果是服务器只提供连接服务的只需要安装mysql-server。
博主的建议是都安装,因为以后想用什么连接方式都可以!
2.3 配置MySQL
下面执行这个命令:
sudo mysql_secure_installation
之后会出现类似这样的提示,输入MySQL的密码,也就是步骤2.2设定的密码:
Securing the MySQL server deployment.
Enter password for user root:
mysql_secure_installation脚本设置的东西有
1.是否需要安装验证密码插件,输入Y即可:
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
2.设置密码强度的等级,输入0即可,因为现在是学习阶段,不用搞那么复杂:
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
3.是否需要修改root用户的密码,按需求,如果觉得步骤2.2的密码不好,
输入Y进行修改,如果不需要修改,输入其他按键回车:
Change the password for root ? ((Press y|Y for Yes, any other key for No) :
4.是否删除匿名用户,输入Y即可:
Remove anonymous users? (Press y|Y for Yes, any other key for No) :
5.是否允许远程登陆,输入Y即可,这样Windows才能连上Linux的数据库:
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
6.是否删除测试数据库,输入Y即可,这个数据库我们不需要:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
7.是否立即刷新表权限,输入Y即可:
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :
当看到下面的提示时,代表数据库初始化配置完成!
All done!
2.4 查看MySQL服务
执行下面的命令查看MySQL服务:
systemctl status mysql.service
将看到类似于以下内容的输出,代表此时MySQL服务已经在Linux系统上运行了!
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since 六 2023-02-11 11:56:58 CST; 12min ago
Main PID: 12078 (mysqld)
CGroup: /system.slice/mysql.service
└─12078 /usr/sbin/mysqld
2月 11 11:56:57 sky-virtual-machine systemd[1]: Starting MySQL Community Server...
2月 11 11:56:58 sky-virtual-machine systemd[1]: Started MySQL Community Server.
三、Linux下的MySQL数据库基本使用
3.1 启动MySQL数据库服务
sudo service mysql start
sudo systemctl start mysql.service
3.2 重启MySQL数据库服务
sudo service mysql restart
输入这个命令可能会报如下内容:
sh: 0: getcwd() failed: No such file or directory
这里不用理会即可,执行下面这个重启命令。
sudo systemctl restart mysql.service
3.3 停止MySQL数据库服务
sudo service mysql stop
sudo systemctl stop mysql.service
3.4 查看MySQL运行状态
sudo service mysql status
sudo systemctl status mysql.service
3.5 设置MySQL服务开机自启动
sudo service mysql enable
sudo systemctl enable mysql.service
3.6 停止MySQL服务开机自启动
sudo service mysql disable
sudo systemctl disable mysql.service
3.7 修改MySQL的配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
这里有一个地方需要修改的是,将这个mysqld.cnf文件内容的一行注释掉,否则后面会导致Windows下的Navicat连接不上MySQL,报错2003!:
# bind-address = 127.0.0.1
然后按下esc,输入冒号,输入wq保存退出。
四、修改密码和访问权限
接下来我们就可以使用步骤2.2设置的密码登陆MySQL了!
4.1 修改密码
首先登陆MySQL:
mysql -uroot -p
输入密码后回车,进入到MySQL命令行模式,然后执行修改密码命令:
设置密码最低位数,根据需要进行设置,这里我设置的是最低6位。
set global validate_password_length=6;
设置密码安全等级,便于学习交流,一般设置LOW,因为设置其他的上面的密码就不合规范了:
set global validate_password_policy=LOW;
设置新密码,这里一定要设置一个符合最低位数及以上的密码,否则后面登陆会报错:
下面是我自己设置的密码,大家根据自己习惯设置即可。
set password=password('123456@');
4.2 开放权限
执行下面的命令:
grant all on *.* to 'root'@'%' identified by '123456@';
意思就是授权所有权限给以root登陆的任何主机。
最后一步是很重要的,刷新权限:
flush privileges;
到这里我们就做好了修改MySQL密码和开放了外部连接的权限!
可以输入exit;命令退出MySQL了。
接下来又到了至关重要的一步,重启MySQL服务,
命令在步骤3.2,执行之后,进入第五个环节测试。
五、使用Navicat连接测试
打开Windows下的navicat,进行连接测试:
点击连接测试,连接成功!
至此,在Linux下安装MySQL(Ubuntu版)就成功了
如果对其中任何一个步骤有疑问
欢迎大家评论交流,一起答疑解决,谢谢大家。
版权归原作者 向阳花花花花 所有, 如有侵权,请联系我们删除。