MySQL8环境搭建采坑记录

1、去官网下载deb文件

https://dev.mysql.com/downloads/repo/apt/

 2、安装deb包

输入root密码后,会有交互式界面如下:

不需要动,按tab键移动到第五行中间的OK,回车。

回车后报apt-key之类的警告,不用管。 警告如下:

3、刷新MySQL源

sudo apt-get update

4、在虚拟机中安装mysql8,不要使用ssh工具(比如secureCRT)连接虚拟安装,因为安装过程有基于shell的图形界面,ssh工具可能有不支持字符集。

sudo apt-get install mysql-server

安装过程中让输入密码,我用secureCRT安装,安装过程看到一些乱码,这处的乱码其实是在让我输入密码和确认密码。

在虚拟机中直接安装可以看到交互式界面,让你输入两次密码

这里重点来了,MySQL8的密码要必须是包含大小写和特殊字符的

如果你不这么设置,后面比如让别的IP访问,都是不能访问到的,但是装MySQL的机器可以正常访问。

如果出现这种情况,参考这篇文章https://blog.csdn.net/yi247630676/article/details/80352655

 

5、mysql启动停止及状态查看

sudo service mysql status

sudo service mysql stop

sudo service mysql start

 

6、一些重要的文件存放位置,重装的时候需要清除这些地方的mysql文件夹及文件

  • All configuration files (like my.cnf) are under /etc/mysql

  • All binaries, libraries, headers, etc., are under /usr/bin and /usr/sbin

  • The data directory is under /var/lib/mysql

7、项目里面配置数据库url的时候,不要配置useSSL=true,要配置成useSSL=false

如果使用SSL,需要安装证书,比较麻烦,开发不要用

8、pom.xml里面驱动包应该引用如下:

<mysql.version>8.0.11</mysql.version>

9、如果项目配置里面配置了驱动,需要使用

com.mysql.cj.jdbc.Driver

10、SpringBoot2.1.0.RELEASE版本(其他的没试,只是记录这个事情),只支持com.mysql.cj.jdbc.Driver驱动,即mysql6.x以上版本。

源码在org.springframework.boot.jdbc.DatabaseDriver类中

/**
 * Find a {@link DatabaseDriver} for the given URL.
 * @param url the JDBC URL
 * @return the database driver or {@link #UNKNOWN} if not found
 */
public static DatabaseDriver fromJdbcUrl(String url) {
	if (StringUtils.hasLength(url)) {
		Assert.isTrue(url.startsWith("jdbc"), "URL must start with 'jdbc'");
		String urlWithoutPrefix = url.substring("jdbc".length())
				.toLowerCase(Locale.ENGLISH);
		for (DatabaseDriver driver : values()) {
			for (String urlPrefix : driver.getUrlPrefixes()) {
				String prefix = ":" + urlPrefix + ":";
				if (driver != UNKNOWN && urlWithoutPrefix.startsWith(prefix)) {
					return driver;
				}
			}
		}
	}
	return UNKNOWN;
}
这个类是枚举类,values()方法返回枚举成员,其中mysql或者MARIADB对应的是
/**
 * MySQL.
 */
MYSQL("MySQL", "com.mysql.cj.jdbc.Driver", "com.mysql.cj.jdbc.MysqlXADataSource",
		"/* ping */ SELECT 1"),

/**
 * Maria DB.
 */
MARIADB("MySQL", "org.mariadb.jdbc.Driver", "org.mariadb.jdbc.MariaDbDataSource",
		"SELECT 1") {

	@Override
	public String getId() {
		return "mysql";
	}
},

初始化 MySQL 8

打开命令行,进入 MySQL 的 bin 目录下,之后进行初始化,命令为:

mysqld --initialize --console

初始化成功后,命令行会打印出 root 用户的初始密码(记得保存,如果没有报错或者忘记的话,删掉初始化的 datadir 目录再次进行初始化即可)

启动 MySQL 服务 

在启动服务前,首先要将 MySQL 8 安装为 Windows 的系统服务,在 MySQL 的 bin 目录执行命令如下:

mysqld --install mysql8

 

其中 mysql8 为服务名称,你可以自行修改成想要的名字。

服务注册成功后,就可以启动 MySQL 服务了,执行命令:

net start mysql8

登录 MySQL

在 bin 目录下执行 mysql -uroot -p ,输入刚刚保存的密码即可。

不过首次登录 MySQL 时需要修改 root 用户密码,不然是无法进行操作的。需要执行的修改 root 用户密码操作,如下:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345';
FLUSH PRIVILEGES;

 


资料参考:

https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值