MySQL8环境搭建采坑记录

版权声明:如果觉得文章对你有用,转载不需要联系作者,但请注明出处 https://blog.csdn.net/jinxin70/article/details/85339974

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";
	}
},

资料参考:

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

猜你喜欢

转载自blog.csdn.net/jinxin70/article/details/85339974
今日推荐