MySQL 8: datadir

Murray Eisenberg murrayeisenberg at gmail.com
Sat Oct 3 16:56:17 UTC 2020


No, I do not find any my.cnf in my datadir.

There were two problems here, the first of which I’ve fixed.

(1) FIXED: Trouble caused by mysql client binary being no found or pointing to mysql57 rather than mysql8.

	- For my default interactive shell zsh, getting rid of loading  oh-my-zsh.sh in .zshrc.
	
	- For both zsh and bash, fixing .profile so that I have /opt/local/lib/mysql8/bin near the start of my path (instead of /opt/local/lib/mysql57/bin).
	using zsh as the default interactive shell.

	After those fixes, and after, of course...

				sudo port select mysql mysql8
	Selecting 'mysql8' for 'mysql' succeeded. 'mysql8' is now active.

	…now the correct client is being found:

			sudo port load mysql8-server
	--->  Loading startupitem 'mysql8-server' for mysql8-server

		which mysql
	/opt/local/lib/mysql8/bin/mysql

(2) NOT FIXED: Whether now in zhs or bash, there’s something wrong with the socket

			sudo port load mysql8-server
  	Loading startupitem 'mysql8-server' for mysql8-server

	     mysql        # [or use: /opt/local/bin/mysql]
	ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql8/mysqld.sock' (2)

	And that is despite having /opt/local/etc/mysql8/my.cnf being:

	# Use default MacPorts settings 
	!include /opt/local/etc/mysql8/macports-default.cnf 

	[mysqld] 
	datadir = /Users/murray/Databases/mysql/data 
	socket = /opt/local/var/run/mysql8/mysqld.sock 
	pid-file = /opt/local/var/run/mysqld/mysqld.pid 

	sql_mode=NO_ENGINE_SUBSTITUTION,STRICTΩTRANS_TABLES 

	[client] 
	socket = /opt/local/var/run/mysql8/mysqld.sock


> On 2 Oct2020, at 9:05 PM, Ryan Schmidt <ryandesign at macports.org> wrote:
> 
> 
> 
> On Oct 2, 2020, at 19:36, Murray Eisenberg wrote:
> 
>> Assuming I do _not_ want to initialize the database, given that I want to use an existing (MySQL 5.7) database with the newly installed MySQL8, I loaded mysql8-server, then tried to connect to it:
>> 
>> 		mysql
>> 	ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql57/mysqld.sock' (2)
>> 
>> Note:
>> 
>> 		sudo port select --show mysql
>> 	The currently selected version for 'mysql' is 'mysql8’.
>> 
>> So the error from trying to execute ‘mysql’ is surprising! Here’s my configuration file /opt/local/etc/mysql8/my.cnf :
>> 
>> 	# Use default MacPorts settings
>> 	!include /opt/local/etc/mysql8/macports-default.cnf
>> 
>> 	[mysqld]
>> 		datadir = /Users/murray/Databases/mysql/data
>> 	port = 3306
>> 	socket = /opt/local/var/run/mysql8/mysqld.sock
>> 	pid-file = /opt/local/var/run/mysqld/mysqld.pid
>> 
>> 	sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
>> 
>> 	[client]
>> 	socket = /opt/local/var/run/mysql8/mysqld.sock
>> 
>> What’s wrong??
> 
> I'm not sure. Your questions are probably not specific to MacPorts; they're more MySQL-specific, so you might have more luck asking in a MySQL support venue.
> 
> What does "which mysql" say? What about "mysql --version"?
> 
> Could there be a my.cnf file in /Users/murray/Databases/mysql/data that's overriding your settings?

---
Murray Eisenberg			murrayeisenberg at gmail.com
503 King Farm Blvd #101	Home (240)-246-7240
Rockville, MD 20850-6667	Mobile (413)-427-5334


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20201003/f9c6a183/attachment.htm>


More information about the macports-users mailing list