wsl安装mysql初始化数据库并设置服务自启

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 既然将wsl作为虚拟环境来使用,那我们就离不开数据库,刚好今天想部署一个项目,就先装一个mysql,结果在安装过程中遇到很多问题,这里也记录一下。

安装【以Ubuntu为例】

mysql的安装还是比较简单的,我们可直接执行以下命令等待完成即可。

apt-get update;
apt-get install mysql-server;


这一步一般都没问题,但是,安装过程中并没有提供修改root密码的操作,这就导致数据库安装完成后,我们没办法登录~~~,那么该如何修改root的密码呢?

启动mysql服务
#check the status of mysql
service mysql status;
#start mysql
service mysql start;
#stop mysql
service mysql stop;
#restart msyql
service mysql restart;



修改root密码

mysql在安装的过程中,提供了一个默认的登录用户与密码,我们可以在路径/etc/mysql/debian.cnf文件内查看,如图

我们通过[mysql_upgrade]节下的user和password登录即可


mysql -udebian-sys-maint -phXqminSvRPXfSRgd


登录成功后,我们可以切换到mysql对root的密码进行修改,具体操作如下:

# switch database
mysql>use msyql;
#update root's password
mysql>alter user 'root'@'localhost' identified with mysql_native_password by 'root';
#write privileges
mysql>flush privileges;


之后即可quit/exit退出。

这里要注意,最好重启一下mysql服务,以使配置生效。

然后通过root登录


mysql -uroot -proot

mysql环境搭建好了,那该如何部署我们的数据库呢?


数据库创建与初始化

mysql有一些列的创建、查询、新增、删除等的命令。

如果我们要部署一个项目,肯定会有现成的.sql文件供部署,那我们该如何操作呢?

1.首先,创建数据库名称。

mysql>create test1;
mysql>use test1;


创建test1,并切换到该库。

2.初始化表结构。

mysql通过source命令来加载sql文件

#source /path
mysql>source /e/demo/a.sql;


3.创建完成后,即可通过命令简单验证

mysql>show tables;
mysql>select * from table_A;


到这里,本篇内容基本上就结束了,还有以下几点,想在这里提一下,


其他

  • 加载.sql文件其实有2种方式,刚刚说的是登录数据库之后的操作方式,其实还有另一种,使用就看情况和个人习惯了。
#mysql -uuser -ppasswd database </path
mysql -uroot -proot </e/test/a.sql


  • mysql安装完成后,直接启动mysql,有可能报如下之类的错误。

Access denied for user ' root ' @ ' localhost '

此时不必在意,执行完service msyql restart之后,直接执行通过默认用户密码登录即可。因为此时,查看服务状态的话,有可能是stopped状态,但是确实可以登录,并进行root密码的修改,修改完成后,重新启动服务,则服务正常运行。


  • 通过Navicate或SQLyog等工具进行连接时,提示找不到服务器。

这个是因为安装MySQL时,设置了root用户只能本机登录,按如下进行修改即可

mysql>use mysql;
mysql>update user set host='%' where user='root';
mysql>flush privileges;
mysql>quit;


mysql开机启动

其实,上篇的ssh开机启动就没配置成功,这里一并说一下,要解决这个问题,我们不能按单独的 系统去处理,因为我们这里是wsl,应该是有所差别。网上有很多的教程,但并不是很简单,这里提供一种简介的方式,可以自由配置。我们知道,通过wsl -d 系统版本 -u username 要启动的服务 start/restart可以启动我们要启动的服务,

比如,我们想启动ssh则可以


wsl -d ubuntu-20.04 -u root /etc/init.d/ssh start

那随着我们的使用,我们要想开机启动的服务肯定越来越多,那我们是不是可以把他们放到一块来启动呢?毫无疑问是可以的,我们,可以在特定路径下建一个start.wsl文件,比如放在/etc/start.wsl下,我们可以编辑start.wsl内容为

service ssh restart
service mysql restart
#添加想要启动的服务


然后,在启动wsl的时候,添加附加命令


wsl -d -ubuntu-20.04 -u root /etc/init.wsl

即可启动文件内的全部服务,因为我们已经指定了默认版本和默认用户,所以可以简化为

wsl /etc/init.wsl
 * Restarting OpenBSD Secure Shell server sshd                                                                   [ OK ]
 * Stopping MySQL database server mysqld                                                                         [ OK ]
 * Starting MySQL database server mysqld

到此,我们的服务开机启动也搞定了。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
3月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
552 1
|
3月前
|
SQL 关系型数据库 MySQL
Go语言数据库编程:使用 `database/sql` 与 MySQL/PostgreSQL
Go语言通过`database/sql`标准库提供统一数据库操作接口,支持MySQL、PostgreSQL等多种数据库。本文介绍了驱动安装、连接数据库、基本增删改查操作、预处理语句、事务处理及错误管理等内容,涵盖实际开发中常用的技巧与注意事项,适合快速掌握Go语言数据库编程基础。
200 62
|
2月前
|
SQL 存储 关系型数据库
MySQL功能模块探秘:数据库世界的奇妙之旅
]带你轻松愉快地探索MySQL 8.4.5的核心功能模块,从SQL引擎到存储引擎,从复制机制到插件系统,让你在欢声笑语中掌握数据库的精髓!
|
2月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
81 11
|
2月前
|
SQL 关系型数据库 MySQL
【赵渝强老师】MySQL中的数据库对象
本教程详细介绍了MySQL数据库中的常见对象,包括表、索引、视图、事件、存储过程和存储函数的创建与管理。内容涵盖表的基本操作、索引的使用、视图简化查询、事件调度功能等,并通过具体示例演示相关SQL语句的使用方法。
|
4月前
|
关系型数据库 MySQL 定位技术
MySQL与Clickhouse数据库:探讨日期和时间的加法运算。
这一次的冒险就到这儿,期待你的再次加入,我们一起在数据库的世界中找寻下一个宝藏。
168 9
|
4月前
|
存储 关系型数据库 MySQL
【赵渝强老师】OceanBase数据库从零开始:MySQL模式
《OceanBase数据库从零开始:MySQL模式》是一门包含11章的课程,涵盖OceanBase分布式数据库的核心内容。从体系架构、安装部署到租户管理、用户安全,再到数据库对象操作、事务与锁机制,以及应用程序开发、备份恢复、数据迁移等方面进行详细讲解。此外,还涉及连接路由管理和监控诊断等高级主题,帮助学员全面掌握OceanBase数据库的使用与管理。
250 5
|
4月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库