我正在尝试远程连接到Ubuntu中的数据库,但在尝试mysql -u root -p
时收到错误消息:
在配置文件中找到没有前面组的选项:/etc/mysql/my.cnf at line:1
my.cnf看起来像:
[mysqld]
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
bind-address = 0.0.0.0
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
log_error = /var/log/mysql/error.log
expire_logs_days = 10
max_binlog_size = 100M
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
答案 0 :(得分:58)
只需在[mysqld]
文件中添加/etc/mysql/my.cnf
作为第一行。
[mysqld]
default-time-zone = "+08:00"
之后,请记住重启MySQL服务。
sudo mysqld stop
sudo mysqld start
答案 1 :(得分:32)
检查文件的charset编码。确保它是ASCII格式。
例如,使用od
命令查看开头是否有UTF-8 BOM。
答案 2 :(得分:12)
这是因为[mysqld]面前的字母或数字只是在[mysqld]
之前检查了汇率或数字是不需要的可能类似
0 [mysqld]然后会出现此错误
答案 3 :(得分:6)
对我有用的东西:
答案 4 :(得分:0)
当我使用社区安装程序安装MySQL 8.0.15时遇到了这个问题。编辑后,安装程序随附的my.ini文件无法正常工作。我通过下载该zip文件夹进行了完整的手动安装。我能够创建自己的my.ini文件,其中仅包含我所关心的参数,并且该文件有效。
在您关注的my.ini文件中包含参数。所以是这样的(只需确保已经为datadir创建了一个文件夹,否则初始化将不起作用):
[mysqld]
basedire=C:\program files\MySQL\MySQL8.0
datadir=D:\MySQL\Data
....continue with whatever parameters you want to include
通过在命令提示符下运行以下两个命令来初始化数据目录:
cd C:\program files\MySQL\MySQL8.0\bin
mysqld --default-file=C:\program files\MySQL\MySQL8.0\my.ini --initialize
通过运行以下两个命令将MySQL服务器作为服务安装:
cd C:\program files\MySQL\MySQL8.0\bin
mysqld --install --default-file=C:\program files\MySQL\MySQL8.0\my.ini
最后,通过运行以下两个命令来首次启动服务器:
cd C:\program files\MySQL\MySQL8.0\bin
mysqld --console